diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1998-04-08 00:14:13 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-04-08 00:14:13 +0000 |
commit | ba3eb2af450c2577c20a691fb686a5e02955c48b (patch) | |
tree | a8cf1145dc0c922547f90f92d9c444715752d512 | |
parent | 00dc2f4f23da07658d2634f904ac3a098aaa4153 (diff) | |
parent | 8c9208bc5764dada175aceff9d0b1938978d7db6 (diff) | |
download | perl-ba3eb2af450c2577c20a691fb686a5e02955c48b.tar.gz |
[asperl] integrate mainline changes
p4raw-id: //depot/asperl@884
136 files changed, 19695 insertions, 16336 deletions
@@ -12,7 +12,7 @@ releases.) CAST AND CREW --------------- -To give due honor to those who have made Perl 5.004 what is is today, +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 March 1997): @@ -45,13862 +45,24 @@ And the Keepers of the Patch Pumpkin: Tim Bunce <Tim.Bunce@ig.co.uk> Andy Dougherty <doughera@lafcol.lafayette.edu> Chip Salzenberg <chip@perl.com> + Malcolm Beattie <mbeattie@sable.ox.ac.uk> +And, of course, the Author of Perl: ----------------- -Version 5.004_04 Maintenance release 4 for 5.004 ----------------- - -"1. Out of clutter, find simplicity. - 2. From discord, find harmony. - 3. In the middle of difficulty lies opportunity." - -- Albert Einstein, three rules of work - - - HEADLINES FOR THIS MAINTENANCE RELEASE - - Fixed gaps in tainting (readdir, readlink, gecos, bit vector ops). - Fixed memory leak in splice(@_). - Fixed debugger core dumps. - IO::Socket now sets autoflush by default. - Several perldoc bugs fixed, now faster and more helpful. - Fixed Win32 handle leak. - Many other improvements to Win32 support. - Many many other bug fixes and enhancements. - - - ------ BUILD PROCESS ------ - - Title: "ExtUtils::Liblist prints diagnostics to STDOUT (vs. STDERR)" - From: Andy Dougherty <doughera@newton.phys.lafayette.edu>, jesse@ginger - (Jesse Glick) - Msg-ID: <199708290032.UAA15663@ginger>, - <Pine.SUN.3.96.970829132217.28552A-100000@newton.phys> - Files: MANIFEST lib/ExtUtils/Liblist.pm - - Title: "Set LD_RUN_PATH when building suidperl" - From: Chip Salzenberg <chip@rio.atlantic.net>, Tony Sanders - <sanders@bsdi.com> - Msg-ID: <199708272226.QAA10206@austin.bsdi.com> - Files: Makefile.SH - - Title: "INSTALL version 1.26" - From: Andy Dougherty <doughera@newton.phys.lafayette.edu> - Msg-ID: <Pine.SUN.3.96.970828143314.27416B-100000@newton.phys> - Files: INSTALL - - Title: "Propagate MAKE=$(MAKE) through perl build" - From: Andy Dougherty <doughera@newton.phys.lafayette.edu> - Msg-ID: <Pine.SUN.3.96.970908143853.13750C-100000@newton.phys> - Files: Makefile.SH makedepend.SH x2p/Makefile.SH ext/util/make_ext - - Title: "update to installperl for perl5.004_02 to skip CVS dir" - From: Tony Sanders <sanders@bsdi.com> - Msg-ID: <199708272307.RAA13451@austin.bsdi.com> - Files: installperl - - Title: "makedepend loop on HP-UX 10.20" - Msg-ID: <1997Sep20.183731.2297443@cor.newman> - Files: Makefile.SH - - Title: "Tiny Grammaro in INSTALL" - From: koenig@anna.mind.de (Andreas J. Koenig) - Msg-ID: <sfcwwkb2pc8.fsf@anna.in-berlin.de> - Files: INSTALL - - Title: "Fix Configured osvers under Linux 1" - From: Andy Dougherty <doughera@newton.phys.lafayette.edu>, Hugo van der - Sanden <hv@crypt.compulink.co.uk> - Msg-ID: <199709241439.PAA17114@crypt.compulink.co.uk>, - <Pine.SUN.3.96.970924112654.5054D-100000@newton.phys> - Files: Configure - - Title: "INSTALL-1.28" - From: Andy Dougherty <doughera@newton.phys.lafayette.edu> - Msg-ID: <Pine.SUN.3.96.971010131207.23751A-100000@newton.phys> - Files: INSTALL - - Title: "makedepend.SH fix for UNICOS" - From: Jarkko Hietaniemi <jhi@iki.fi> - Msg-ID: <199710132039.XAA21459@alpha.hut.fi> - Files: makedepend.SH - - ------ CORE LANGUAGE ------ - - Title: "Re: "perl -d" dumps core when loading syslog.ph" - From: Jochen Wiedmann <wiedmann@neckar-alb.de>, Stephen McCamant - <alias@mcs.com>, ilya@math.ohio-state.edu (Ilya - Zakharevich) - Msg-ID: <1997Aug30.034921.2297381@cor.newman.upenn.edu>, - <3407639E.FEBF20BA@neckar-alb.de>, - <m0x4ZGj-000EZYC@alias-2.pr.mcs.net> - Files: pp_ctl.c - - Title: "Allow $obj->$coderef()" - From: Chip Salzenberg <salzench@nielsenmedia.com> - Msg-ID: <199708291649.MAA23276@nielsenmedia.com> - Files: pp_hot.c - - Title: "Localize PV value in save_gp()", "typeglob differences in perl4 and - perl5" - From: Gurusamy Sarathy <gsar@engin.umich.edu>, Stephen McCamant - <alias@mcs.com> - Msg-ID: <199708272348.TAA03139@aatma.engin.umich.edu>, - <m0x4u2o-000EZkC@alias-2.pr.mcs.net> - Files: scope.c t/op/ref.t - - Title: "Avoid assumption that STRLEN == I32" - From: Chip Salzenberg <chip@rio.atlantic.net>, Hallvard B Furuseth - <h.b.furuseth@usit.uio.no> - Msg-ID: <199708242310.BAA05497@bombur2.uio.no> - Files: hv.c - - Title: "Fix memory leak in splice(@_)" - From: "Tuomas J. Lukka" <tjl@fkfuga.pc.helsinki.fi>, Chip Salzenberg - <chip@rio.atlantic.net> - Msg-ID: <m0x3iQE-000CBrC@lukka.student.harvard.edu> - Files: proto.h av.c global.sym pp.c - - Title: "Fix line number of warnings in while() conditional", "misleading - uninit value warning" - From: Chip Salzenberg <chip@rio.atlantic.net>, Greg Bacon - <gbacon@crp-201.adtran.com> - Msg-ID: <199708271607.LAA01403@crp-201.adtran.com> - Files: proto.h op.c perly.c perly.y - - Title: "-t and POSIX::isatty on IO::Handle objects", "Fix C<-t $handle>" - From: Chip Salzenberg <chip@rio.atlantic.net>, Greg Ward - <greg@bic.mni.mcgill.ca> - Msg-ID: <199708261754.NAA24826@bottom.bic.mni.mcgill.ca> - Files: pp_sys.c - - Title: "Fix output of invalid printf formats" - From: Chip Salzenberg <chip@rio.atlantic.net>, Hugo van der Sanden - <hv@crypt.compulink.co.uk> - Msg-ID: <199708241529.QAA02457@crypt.compulink.co.uk> - Files: sv.c t/op/sprintf.t - - Title: "regexec.c regcppartblow declaration missing an arg" - From: Hugo van der Sanden <hv@crypt.compulink.co.uk> - Msg-ID: <199708290059.BAA05808@crypt.compulink.co.uk> - Files: regexec.c - - Title: "taint readlink, readdir, gecos" - From: Jarkko Hietaniemi <jhi@iki.fi> - Msg-ID: <199709131651.TAA13471@alpha.hut.fi> - Files: pod/perlfunc.pod pod/perlsec.pod pp_sys.c t/op/taint.t - - Title: "clean up old style package' usage in op.c" - From: Stephen Potter <spp@psa.pencom.com> - Msg-ID: <199709151813.NAA14433@psisa.psa.pencom.com> - Files: op.c - - Title: "beautifying usage() code in perl.c" - From: "John L. Allen" <"John L. Allen"<allen@gateway.grumman.com>> - Msg-ID: <Pine.SOL.3.91.970905091314.5991C-100000@gateway> - Files: perl.c - - Title: "debugger to fix core dumps, adds $^S" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199709170823.EAA21359@monk.mps.ohio-state.edu> - Files: pod/perlvar.pod perl.h gv.c lib/perl5db.pl mg.c perl.c toke.c - - Title: "downgrade "my $foo masks earlier" from mandatory to "-w"" - From: Gurusamy Sarathy <gsar@engin.umich.edu>, Stephen Potter - <spp@psa.pencom.com> - Msg-ID: <199709091832.NAA14763@psisa.psa.pencom.com>, - <199709102019.QAA09591@aatma.engin.umich.edu> - Files: pod/perldelta.pod pod/perldiag.pod op.c - - Title: "fix overridden glob() problems" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199709171645.MAA13988@aatma.engin.umich.edu> - Files: MANIFEST pod/perlsub.pod lib/File/DosGlob.pm op.c t/lib/dosglob.t - toke.c - - Title: "Reverse previous "Fix C<qq #hi#>" patch" - From: Chip Salzenberg <chip@rio.atlantic.net>, Kenneth Albanowski - <kjahds@kjahds.com>, Tom Christiansen - <tchrist@jhereg.perl.com> - Msg-ID: <199707050155.VAA27394@rio.atlantic.net>, - <199708172326.RAA19344@jhereg.perl.com>, - <Pine.LNX.3.93.970817200236.170F-100000@kjahds.com> - Files: toke.c - - Title: "printf type warning buglets in m3t2" - From: Hallvard B Furuseth <h.b.furuseth@usit.uio.no> - Msg-ID: <199708141017.MAA10225@bombur2.uio.no> - Files: regcomp.c regexec.c scope.c sv.c util.c x2p/util.c - - Title: "Localize PV value in save_gp()", "typeglob differences in perl4 and - perl5" - From: Gurusamy Sarathy <gsar@engin.umich.edu>, Stephen McCamant - <alias@mcs.com> - Msg-ID: <199708272348.TAA03139@aatma.engin.umich.edu>, - <m0x4AUk-000EUJC@alias-2.pr.mcs.net> - Files: scope.c t/op/ref.t - - Title: "unpack now allows commas but -w warns", "unpack() difference - 5.003->5.004" - From: "John L. Allen" <allen@gateway.grumman.com>, Chip Salzenberg - <chip@rio.atlantic.net>, Jarkko Hietaniemi <jhi@iki.fi>, - Jim Esten <jesten@wdynamic.com>, Jim Esten - <jesten@wepco.com>, timbo (Tim Bunce) - Msg-ID: <199709031632.LAA29584@wepco.com>, - <199709090257.WAA32670@rio.atlantic.net>, - <199709090917.MAA05602@alpha.hut.fi>, - <199709091000.LAA24094@toad.ig.co.uk>, - <341077FE.132F@wdynamic.com>, - <Pine.SOL.3.91.970905171243.14630A-100000@gateway> - Files: pod/perldiag.pod pp.c - - Title: "5.004_04 trial 1 assorted minor details" - From: Hallvard B Furuseth <h.b.furuseth@usit.uio.no> - Msg-ID: <HBF.970921p5f6@bombur2.uio.no> - Files: Porting/pumpkin.pod hv.c op.c sv.c x2p/util.c - - Title: "A couple of 4_04t1 problems" - From: pmarquess@bfsec.bt.co.uk (Paul Marquess) - Msg-ID: <9709210959.AA28772@claudius.bfsec.bt.co.uk> - Files: lib/Cwd.pm perl.c - - Title: "Minor changes to ease port to MVS" - From: Len Johnson <lenjay@ibm.net>, SMTP%"BAHUFF@us.oracle.com" , - SMTP%"pfuntner@vnet.ibm.com" , pvhp@forte.com (Peter - Prymmer) - Msg-ID: <199709162058.NAA00952@mailsun2.us.oracle.com> - Files: unixish.h miniperlmain.c - - Title: "Truer version string and more robust perlbug" - From: "Michael A. Chase" <mchase@ix.netcom.com>, Hugo van der Sanden - <hv@crypt.compulink.co.uk> - Msg-ID: <199709201514.QAA21187@crypt.compulink.co.uk>, - <1997Sep22.090701.2297448@cor.newman> - Files: perl.c utils/perlbug.PL - - Title: "Fix locale bug for constant (readonly) strings" - From: Jarkko Hietaniemi <jhi@iki.fi> - Msg-ID: <199709262125.AAA28292@alpha.hut.fi> - Files: sv.c t/pragma/locale.t - - Title: "Enable truly global glob()" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199710080000.UAA18972@aatma.engin.umich.edu> - Files: op.c - - Title: "Fix for $0 truncation" - From: Tim Bunce <Tim.Bunce@ig.co.uk> - Msg-ID: <199710081703.SAA02653@toad.ig.co.uk> - Files: mg.c - - Title: "Fix for missing &import leaving stack untidy" - From: Chip Salzenberg <salzench@nielsenmedia.com> - Msg-ID: <199709282252.SAA22915@nielsenmedia.com> - Files: pp_hot.c - - Title: "Larry's proto fix" - From: Chip Salzenberg <salzench@nielsenmedia.com> - Msg-ID: <199709290004.UAA07559@nielsenmedia.com> - Files: op.c t/comp/proto.t - - Title: "Fix bugs with magical arrays and hashes (@ISA)" - From: Chip Salzenberg <chip@rio.atlantic.net> - Msg-ID: <199709232148.RAA29967@rio.atlantic.net> - Files: perl.h proto.h av.c global.sym gv.c mg.c pp.c pp_hot.c scope.c - t/op/method.t - - Title: "Perl_debug_log stream used for all DEBUG_*(...) macro uses" - From: Nick Ing-Simmons <nik@tiuk.ti.com>, Tim Bunce - Msg-ID: <199709230820.JAA11945@tiuk.ti.com> - Files: perl.c taint.c util.c - - Title: "Tainting bitwise vector ops" - From: Chip Salzenberg <chip@rio.atlantic.net> - Msg-ID: <199710061726.NAA16438@rio.atlantic.net> - Files: doop.c t/op/taint.t - - Title: "Enhance $^E on OS/2" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199709232236.SAA04463@monk.mps.ohio-state.edu> - Files: pod/perlvar.pod mg.c os2/Changes - - Title: "option "!#... -- ..." in perl 5.004.03 seems not to work" - From: "John L. Allen" <allen@gateway.grumman.com>, Urs Thuermann - <urs@isnogud.escape.de> - Msg-ID: <199709232030.WAA30425@isnogud.escape.de>, - <Pine.SOL.3.91.970930105158.10789A-100000@gateway> - Files: perl.c - - Title: "syswrite will again write a zero length buffer" - From: Cameron Simpson <cs@zip.com.au>, Jarkko Hietaniemi <jhi@iki.fi>, - aml@world.std.com (Andrew M. Langmead) - Msg-ID: <199710042107.AAA28561@alpha.hut.fi>, - <19971007104652-cameron-1-10391@sid.research.canon.com.au> - Files: pp_sys.c - - Title: "make Odd number of elements in hash list warning non-mandatory" - From: Jason Varsoke {81530} <jjv@caesun10.msd.ray.com> - Msg-ID: <199710021651.MAA15690@caesun7.msd.ray.com> - Files: pp.c pp_hot.c - - Title: "Fix defined() bug in m4t3 affecting LWP" - From: chip@atlantic.net@ig.co.uk () - Msg-ID: <199710101822.OAA14249@cyprus.atlantic.net> - Files: pp.c - - Title: "Include $archname in perl -v output" - From: Tim Bunce <Tim.Bunce@ig.co.uk> - Files: perl.c - - Title: "-I flag can easily lead to whitespace in @INC" - From: Kenneth Stephen <y2kmvs@us.ibm.com>, Tim Bunce <Tim.Bunce@ig.co.uk>, - pvhp@forte.com (Peter Prymmer) - Msg-ID: <199710130922.KAA07780@toad.ig.co.uk>, - <5040400007001448000002L082*@MHS>, - <9710132015.AA12457@forte.com> - Files: perl.c - - ------ DOCUMENTATION ------ - - Title: "perldiag.pod: gotcha in short pattern/char ops" - From: Jarkko Hietaniemi <jhi@iki.fi> - Msg-ID: <199709050718.KAA31405@alpha.hut.fi> - Files: pod/perldiag.pod - - Title: "Documenting the perl-thanks address" - From: Tom Phoenix <rootbeer@teleport.com> - Msg-ID: <Pine.GSO.3.96.970913064628.12359F-100000@julie.teleport.com> - Files: pod/perl.pod - - Title: "Missing section for @_ in perlvar." - From: abigail@fnx.com (Abigail) - Msg-ID: <199708142146.RAA13146@fnx.com> - Files: pod/perlvar.pod - - Title: "Promised information about AvHASH in perguts is not delivered" - From: mjd@plover.com - Files: pod/perlguts.pod - - Title: "perlfunc.doc - $_ aliasing in map, grep, foreach etc" - From: Ted Ashton <ashted@southern.edu> - Msg-ID: <199708181852.OAA15901@ns.southern.edu> - Files: pod/perlfunc.pod - - Title: "-U Unsafe operations need -w to warn" - From: Tom Phoenix <rootbeer@teleport.com> - Msg-ID: <Pine.GSO.3.96.970826141343.13463h-100000@julie.teleport.com> - Files: pod/perlrun.pod - - Title: "document the return value of syscall" - From: Hans Mulder <hansm@icgned.nl> - Msg-ID: <1997Sep7.160817.2297395@cor.newman> - Files: pod/perlfunc.pod - - Title: "minor fix for perltrap.pod" - From: abigail@fnx.com (Abigail) - Msg-ID: <199709170500.BAA14805@fnx.com> - Files: pod/perltrap.pod - - Title: "xsubpp: document advanced dynamic typemap usage" - From: "Rujith S. de Silva" <desilva@netbox.com> - Files: pod/perlxs.pod - - Title: "Improved diagnostic docs for here-documents" - From: Tom Phoenix <rootbeer@teleport.com> - Msg-ID: <Pine.GSO.3.96.970921074004.21358G-100000@julie.teleport.com> - Files: pod/perldiag.pod - - Title: "[POD patch] do-FILE forces scalar context." - From: Robin Houston <robin@oneworld.org> - Msg-ID: <199709221553.QAA28409@carryon.oneworld.org> - Files: pod/perlfunc.pod - - Title: "perlop.pop. Behaviour of C<qq#hi#> vs C<qq #hi#>." - From: abigail@fnx.com (Abigail) - Msg-ID: <199709220107.VAA27064@fnx.com> - Files: pod/perlop.pod - - Title: "Clarify exec docs in perlfunc.pod" - From: Hugo van der Sanden <hv@crypt.compulink.co.uk> - Msg-ID: <199710081353.OAA00834@crypt.compulink.co.uk> - Files: pod/perlfunc.pod - - Title: "Documentation patch for perlguts.pod--document tainting routines" - From: Dan Sugalski <sugalskd@osshe.edu> - Msg-ID: <3.0.3.32.19971007165226.02fd2cd4@osshe.edu> - Files: pod/perlguts.pod - - Title: "Man perlfunc: incorrect split example" - From: Joerg Porath <Joerg.Porath@informatik.tu-chemnitz.de> - Msg-ID: <199709240620.IAA30928@pandora.hrz.tu-chemnitz.de> - Files: pod/perlfunc.pod - - Title: "Improve "Use of inherited AUTOLOAD for non-method" disgnostic" - From: rjray@uswest.com (Randy J. Ray) - Msg-ID: <199709231710.LAA08854@tremere.ecte.uswc.uswest.com> - Files: pod/perldiag.pod - - Title: "Document split-with-limit on empty string perl4/perl5 change" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Gisle Aas <aas@bergen.sn.no>, Hugo - van der Sanden <hv@crypt.compulink.co.uk> - Msg-ID: <199709221419.PAA03987@crypt.compulink.co.uk>, - <hiuvttdkv.fsf@bergen.sn.no> - Files: pod/perlfunc.pod pod/perltrap.pod URI/URL/http.pm t/op/split.t - - Title: "Clarify close() docs" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199710081653.MAA20611@monk.mps.ohio-state.edu> - Files: pod/perlfunc.pod - - Title: "perldiag log & sqrt - refer to Math::Complex package" - From: Jarkko Hietaniemi <jhi@cc.hut.fi> - Msg-ID: <199710042129.AAA20367@alpha.hut.fi> - Files: pod/perldiag.pod - - Title: "perlfunc.pod: sysread, syswrite docs" - From: Jarkko Hietaniemi <jhi@cc.hut.fi> - Msg-ID: <199710061910.WAA15266@alpha.hut.fi> - Files: pod/perlfunc.pod - - Title: "Document //gc" - From: abigail@fnx.com (Abigail) - Msg-ID: <199709232302.TAA27947@fnx.com> - Files: pod/perlop.pod - - Title: "repeating #! switches" - From: Chip Salzenberg <chip@rio.atlantic.net>, Robin Barker - <rmb1@cise.npl.co.uk> - Msg-ID: <199709241736.NAA25855@rio.atlantic.net>, - <24778.9709241501@tempest.cise.npl.co.uk> - Files: pod/perlrun.pod - - Title: "Re: taint documentation bug" - From: Ken Estes <estes@ms.com>, Tom Phoenix <rootbeer@teleport.com> - Msg-ID: <Pine.GSO.3.96.971006121349.10551X-100000@usertest.teleport.com> - Files: pod/perlsec.pod - - ------ LIBRARY AND EXTENSIONS ------ - - Title: "FileHandle.pm fails if Exporter has not been loaded previously" - From: jan.dubois@ibm.net (Jan Dubois) - Msg-ID: <3445e05b.17874041@smtp2.ibm.net> - Files: lib/FileHandle.pm - - Title: "Prefer startperl path over perlpath in MakeMaker" - From: Andreas Klussmann <andreas@infosys.heitec.de> - Msg-ID: <199709162017.WAA05043@troubadix.infosys.heitec.net> - Files: lib/ExtUtils/MM_Unix.pm - - Title: "Sys::Hostname fails under Solaris 2.5 when setuid" - From: Patrick Hayes <Patrick.Hayes.CAP_SESA@renault.fr> - Msg-ID: <199708201240.OAA04243@goblin.renault.fr> - Files: lib/Sys/Hostname.pm - - Title: "Cwd::getcwd cannot handle path contains '0' element" - From: Hironori Ikura <hikura@tcc.co.jp>, Hironori Ikura - <hikura@trans-nt.com>, Stephen Zander <srz@mckesson.com> - Msg-ID: <19970830060142J.hikura@matsu.tcc.co.jp>, - <m0x4TzI-0003F1C@wsuse5.mckesson.com> - Files: lib/Cwd.pm - - Title: "Getopt::Long 2.11" - From: JVromans@squirrel.nl (Johan Vromans) - Msg-ID: <m0xBcdR-000RArC@plume.nl.compuware.com> - Files: lib/Getopt/Long.pm - - Title: "IO::Socket autoflush by default, assume tcp and PeerAddr" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Andy Dougherty - <doughera@newton.phys.lafayette.edu>, Gisle Aas - <aas@bergen.sn.no> - Msg-ID: <E0x9WpH-0003HT-00@ursa.cus.cam.ac.uk>, - <Pine.SUN.3.96.970915115856.23236F-100000@newton.phys>, - <hvi07zvo9.fsf@bergen.sn.no> - Files: ext/IO/lib/IO/Socket.pm - - Title: "Syslog.pm and missing _PATH_LOG" - From: Ulrich Pfeifer <upf@de.uu.net> - Msg-ID: <p5iuw1cris.fsf@knowway.de.uu.net> - Files: lib/Sys/Syslog.pm - - Title: "Undocumented: $Test::Harness::switches" - From: Achim Bohnet <ach@mpe.mpg.de> - Msg-ID: <9708272110.AA26904@o09.xray.mpe.mpg.de> - Files: lib/Test/Harness.pm - - Title: "Patches for lib/Math/Complex.pm and t/lib/complex.t" - From: Jarkko Hietaniemi <jhi@anna.in-berlin.de> - Msg-ID: <199709102009.WAA27428@anna.in-berlin.de> - Files: lib/Math/Complex.pm t/lib/complex.t - - Title: "Win32: Install.pm not correctly comparing binary files." - From: Jeff Urlwin <jurlwin@access.digex.net> - Msg-ID: <01BCBFAA.E325C4A0.jurlwin@access.digex.net> - Files: lib/ExtUtils/Install.pm - - Title: "Document that File::Find doesn't follow symlinks" - From: Greg Ward <greg@bic.mni.mcgill.ca> - Msg-ID: <199708191853.OAA07111@bottom.bic.mni.mcgill.ca> - Files: lib/File/Find.pm - - Title: "fix subroutines called in a void context in perl5db.pl" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> - Msg-ID: <E0x6Gsa-0004VR-00@ursa.cus.cam.ac.uk> - Files: lib/perl5db.pl - - Title: "xsubpp fix to allow #ifdef's around entire XSubs" - From: John Tobey <jtobey@user1.channel1.com> - Msg-ID: <199709070034.AAA16457@remote119> - Files: lib/ExtUtils/xsubpp - - Title: "Banishing eval from getopt.pl and Getopt/Std.pm" - From: "John L. Allen" <allen@gateway.grumman.com> - Msg-ID: <Pine.SOL.3.91.970920154720.3683A@gateway> - Files: lib/getopt.pl lib/Getopt/Std.pm - - Title: "further complex number patches" - From: Jarkko Hietaniemi <jhi@iki.fi>, d-lewart@uiuc.edu (Daniel S. Lewart) - Msg-ID: <199709221009.FAA21216@staff2.cso.uiuc.edu>, - <199709221216.PAA15130@alpha.hut.fi> - Files: lib/Math/Complex.pm t/lib/complex.t - - Title: "Trap Time::Local infinite loop" - From: Hugo van der Sanden <hv@crypt.compulink.co.uk> - Msg-ID: <199710030030.BAA17372@crypt.compulink.co.uk> - Files: lib/Time/Local.pm - - Title: "Cosmetic Test::Harness patch" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199710032226.SAA15354@monk.mps.ohio-state.edu> - Files: lib/Test/Harness.pm - - Title: "ExtUtil::Install sub my_cmp needs to binmode its files" - From: Gurusamy Sarathy <gsar@engin.umich.edu>, Stephen Potter - <spp@psa.pencom.com> - Msg-ID: <199710010617.BAA02037@psisa.psa.pencom.com>, - <199710011819.OAA03288@aatma.engin.umich.edu> - Files: lib/ExtUtils/Install.pm - - Title: "Enable make test "TEST_FILES=t/*.t.were_failing"" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199710032231.SAA15364@monk.mps.ohio-state.edu> - Files: lib/ExtUtils/MM_Unix.pm - - Title: "Fix for autouse.pm" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199710071734.NAA19462@monk.mps.ohio-state.edu> - Files: lib/autouse.pm - - Title: "Math::Complex fixes - fixes problems on m68-linux" - From: Jarkko Hietaniemi <jarkko.hietaniemi@research.nokia.com> - Msg-ID: <199709301422.HAA24368@koah.research.nokia.com> - Files: lib/Math/Complex.pm - - Title: "Updated CPAN.pm for 5.004_04" - From: koenig@anna.mind.de (Andreas J. Koenig) - Msg-ID: <sfcpvpv8teo.fsf@anna.in-berlin.de> - Files: lib/CPAN.pm lib/CPAN/FirstTime.pm - - Title: "debugger bug with 'c subname'" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199709232331.TAA04546@monk.mps.ohio-state.edu> - Files: lib/perl5db.pl - - Title: "Fix atan2 & restrict $t to (-pi,pi] instead of to [-pi,pi]" - From: Daniel S. Lewart, Jarkko Hietaniemi - <jarkko.hietaniemi@research.nokia.com> - Msg-ID: <199710010939.CAA00964@koah.research.nokia.com> - Files: lib/Math/Complex.pm - - Title: "Cwd::fastcwd needs changes to work with tainting" - From: Hugo van der Sanden <hv@crypt.compulink.co.uk>, Ulrich Pfeifer - <pfeifer@wait.de>, Tim Bunce - Msg-ID: <yfmwwk6y0bc.ulp@gretchen.informatik.uni-dortmund.de> - Files: lib/Cwd.pm - - Title: "use autouse: requires prototype now" - From: user@agate.berkeley.edu - Msg-ID: <9709220450.AA0380@tuzik.HIP.Berkeley.EDU> - Files: lib/autouse.pm - - Title: ""use base qw(Foo Bar);" to set @ISA at compile time" - From: Gisle Aas <gisle@aas.no>, Graham Barr <gbarr@pobox.com>, Graham Barr - <gbarr@ti.com>, Tim Bunce <Tim.Bunce@ig.co.uk>, - jan.dubois@ibm.net (Jan Dubois), larry@wall.org (Larry - Wall) - Msg-ID: <199710022151.WAA21250@toad.ig.co.uk>, - <199710031613.JAA11286@wall.org>, - <199710040829.KAA16739@furu.g.aas.no>, - <3434E4C6.AE24135E@ti.com>, <343C2278.7DC1ADC6@pobox.com>, - <343ec306.50394803@smtp-gw01.ny.us.ibm.net> - Files: lib/base.pm - - Title: "Further Math/Complex.pm enhancements" - From: Jarkko Hietaniemi <jhi@iki.fi> - Msg-ID: <199710132055.XAA02086@alpha.hut.fi> - Files: lib/Math/Complex.pm t/lib/complex.t - - Title: "Further Math::Complex fixes" - From: Jarkko Hietaniemi <jhi@iki.fi> - Msg-ID: <199710120933.MAA01165@alpha.hut.fi> - Files: lib/Math/Complex.pm - - ------ OTHER CHANGES ------ - - Title: "POD patches w.r.t. $^S" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199710030001.UAA14241@monk.mps.ohio-state.edu> - Files: ../pod/perlfunc.pod ../pod/perlvar.pod - - Title: "libperl.sl on HP-UX 10.20" - From: "Darren/Torin/Who Ever..." <torin@daft.com>, Hugo van der Sanden - <hv@crypt.compulink.co.uk> - Msg-ID: <199709250003.BAA18085@crypt.compulink.co.uk>, - <873emkbpit.fsf@perv.daft.com> - Files: - - Title: "myconfig / perl -V: remove randbits and add prototype" - From: Tim Bunce <Tim.Bunce@ig.co.uk> - Msg-ID: <199709290857.JAA07706@toad.ig.co.uk> - Files: myconfig - - Title: "Emacs CPerl update for 5.004_04" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199710140835.EAA26825@monk.mps.ohio-state.edu> - Files: emacs/cperl-mode.el - - Title: "Enhance perly.fixer to help porters." - From: Tim Bunce - Files: perly.fixer - - ------ PORTABILITY - WIN32 ------ - - Title: "Fix win32/Makefile for perl95" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Files: win32/Makefile win32/makefile.mk - - Title: "Win32 archnames" - From: Bill Middleton <wmiddlet@Adobe.COM>, Gurusamy Sarathy - <gsar@engin.umich.edu>, Peter Prymmer <pvhp@forte.com>, Tim - Bunce <Tim.Bunce@ig.co.uk> - Msg-ID: <199709111929.PAA22488@aatma.engin.umich.edu>, - <341719E4.4923@forte.com>, - <Pine.GSO.3.95.970905123145.12361B-100000@ducks> - Files: win32/config_H.bc win32/config_H.vc - - Title: "pl2bat.bat -> pl2bat.pl change in win32/pod.mak" - From: jan.dubois@ibm.net (Jan Dubois) - Msg-ID: <3411ee6f.9143607@smtp-gw01.ny.us.ibm.net> - Files: win32/pod.mak - - Title: "Add test-notty target to Win32 Makefile" - From: jan.dubois@ibm.net (Jan Dubois) - Msg-ID: <343f5106.12461608@smtp2.ibm.net> - Files: win32/Makefile - - Title: "Bug in Win32::GetShortPathName" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199710092229.SAA21556@aatma.engin.umich.edu> - Files: win32/win32.c - - Title: "Fix NT handles leak." - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199710111319.JAA10918@aatma.engin.umich.edu> - Files: win32/win32io.c win32/win32sck.c - - Title: "fix socket init duality on win32" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199710111523.LAA12407@aatma.engin.umich.edu> - Files: win32/win32sck.c - - ------ PORTABILITY - GENERAL ------ - - Title: "Tweak to hints/machten.sh: stop t/lib/complex.t from failing" - From: Dominic Dunlop <domo@tcp.ip.lu> - Msg-ID: <v03110700b06a30bdfc42@[194.51.248.80]> - Files: hints/machten.sh - - Title: "Irix 6.2 build problem - so_locations" - From: "Billinghurst, David" <David.Billinghurst@riotinto.com.au> - Msg-ID: <D54B1932FFB4CF11B5C80000F8018BD2907E31@CRCMAIL> - Files: hints/irix_6.sh - - Title: "Porting/pumpkin.pod version 1.13" - From: Andy Dougherty <doughera@newton.phys.lafayette.edu> - Msg-ID: <Pine.SUN.3.96.970828142011.27416A-100000@newton.phys> - Files: Porting/pumpkin.pod - - Title: "lib/timelocal.t fails test 1 for VMS 7.1" - From: Dan Sugalski <sugalsd@lbcc.cc.or.us> - Msg-ID: <3.0.3.32.19970908112449.0087bc90@stargate.lbcc.cc.or.us> - Files: vms/vmsish.h vms/vms.c - - Title: "Patches to updated README.VMS for Perl 5.004_04" - From: Dan Sugalski <sugalsd@stargate.lbcc.cc.or.us> - Msg-ID: <3.0.3.32.19970918100648.008b1c60@stargate.lbcc.cc.or.us> - Files: README.vms - - Title: "Fix perl build on Digital UNIX after JDK installs libnet.so" - From: Spider Boardman <spider@orb.nashua.nh.us> - Msg-ID: <199709191826.OAA18040@Orb.Nashua.NH.US> - Files: hints/dec_osf.sh - - Title: "Updated README.VMS for Perl 5.004_04" - From: Dan Sugalski <sugalsd@stargate.lbcc.cc.or.us> - Msg-ID: <3.0.3.32.19970912091524.008a3620@stargate.lbcc.cc.or.us> - Files: README.vms - - Title: "Dynixptx hints" - From: bruce@aps.org ("Bruce P. Schuck") - Msg-ID: <Pine.PTX.3.95.971002104651.12112G-200000@lancelot.aps.org> - Files: hints/dynixptx.sh - - Title: "Minor OS/2 patch for 4_03" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199710032224.SAA15345@monk.mps.ohio-state.edu> - Files: os2/os2.c - - Title: "OS2::REXX improvements" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199709272214.SAA08638@monk.mps.ohio-state.edu> - Files: os2/Changes os2/OS2/REXX/Makefile.PL os2/OS2/REXX/REXX.pm - - Title: "hints/qnx.sh update" - From: Norton Allen <allen@huarp.harvard.edu> - Msg-ID: <199709261508.LAA07889@dolores.harvard.edu> - Files: hints/qnx.sh - - Title: "New hints file for IBM OS/390 OpenEdition (MVS)" - From: pvhp@forte.com (Peter Prymmer) - Msg-ID: <9709240106.AA26484@forte.com> - Files: hints/os390.sh - - Title: "OS/2 Hints" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199710130631.CAA25426@monk.mps.ohio-state.edu> - Files: hints/os2.sh - - ------ TESTS ------ - - Title: "op/glob.t test failure under Win32 with CVS" - From: Warren Jones <wjones@tc.fluke.com> - Msg-ID: <97Aug26.091048pdt.35761-1@gateway.fluke.com> - Files: t/op/glob.t - - Title: "tests fail if localhost/loopback address not defined" - From: David McLean <David McLean<davem@icc.gsfc.nasa.gov>>, David McLean - <davem@icc.gsfc.nasa.gov> - Msg-ID: <34048947.2944@icc.gsfc.nasa.gov> - Files: t/lib/io_sock.t t/lib/io_udp.t - - Title: "Improve pragma/locale test 102 - and don't fail, just warn" - From: Jarkko Hietaniemi <jhi@anna.in-berlin.de> - Files: t/pragma/locale.t - - Title: "Invalid test output in t/op/taint.t in trial 1" - From: Dan Sugalski <sugalsd@lbcc.cc.or.us> - Msg-ID: <3.0.3.32.19970919160918.00857a50@stargate.lbcc.cc.or.us> - Files: t/op/taint.t - - Title: "Identify t/*/*.t test failing because of file permissions" - From: koenig@anna.mind.de (Andreas J. Koenig) - Msg-ID: <sfcraah0xvy.fsf@anna.in-berlin.de> - Files: t/TEST - - Title: "fix poor t/op/runlevel.t test" - From: Gurusamy Sarathy <gsar@engin.umich.edu>, Hugo van der Sanden - <hv@crypt.compulink.co.uk>, Norton Allen - <allen@huarp.harvard.edu> - Msg-ID: <199709261458.KAA28611@dolores.harvard.edu> - Files: t/op/runlevel.t - - ------ UTILITIES ------ - - Title: "Missing 'require' in auto-generated .pm by h2xs" - From: davidk@tor.securecomputing.com (David Kerry) - Msg-ID: <97Aug27.131618edt.11650@janus.tor.securecomputing.com> - Files: utils/h2xs.PL - - Title: "Perldoc tiny patch to avoid $0" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199709122141.RAA16846@monk.mps.ohio-state.edu> - Files: utils/perldoc.PL - - Title: "h2ph broken in 5.004_02" - From: David Mazieres <dm@reeducation-labor.lcs.mit.edu>, - kstar@www.chapin.edu (Kurt D. Starsinic) - Msg-ID: <199708201454.KAA05122@reeducation-labor.lcs.mit.edu>, - <199708201700.KAA02621@www.chapin.edu> - Files: utils/h2ph.PL - - Title: "add key_t caddr_t to h2ph", "eg/sysvipc/ipcsem bug", "update - hints/bsdos.sh" - From: Tony Sanders <sanders@bsdi.com> - Msg-ID: <199708272301.RAA12803@austin.bsdi.com> - Files: eg/sysvipc/ipcsem utils/h2ph.PL - - Title: "perldoc search ., lib and blib/* if -f 'Makefile.PL'" - From: Tim Bunce - Msg-ID: <199708251732.KAA19299@gadget.cscaper.com> - Files: utils/perldoc.PL - - Title: "5.004m4t1: perlbug: NIS domainname gets into wrong places" - From: koenig@anna.mind.de (Andreas J. Koenig) - Msg-ID: <sfcg1qy38as.fsf@anna.in-berlin.de> - Files: utils/perlbug.PL - - Title: "add better local patch info to perlbug", "perlbug checks perl - build/run version changes" - From: Tim.Bunce@ig.co.uk - Files: utils/perlbug.PL - - Title: "perldoc - suggest modules if requested module not found" - From: Anthony David <adavid@netinfo.com.au> - Msg-ID: <3439CD83.6969@netinfo.com.au> - Files: utils/perldoc.PL - - Title: "perldoc mail::foo tries to read binary /usr/ucb/mail" - From: "Joseph Moof-in' Hall" <joseph@cscaper.com>, Tim Bunce - Msg-ID: <199710082014.NAA00808@gadget.cscaper.com> - Files: utils/perldoc.PL - - Title: "perldoc -f setpwent (for example) returns no descriptive text" - From: Tim Bunce - Files: utils/perldoc.PL - - Title: "perldoc diffs: don't search auto - much faster" - From: "Joseph N. Hall" <joseph@5sigma.com> - Msg-ID: <MailDrop1.2d7dPPC.971012211957@screechy.cscaper.com> - Files: utils/perldoc.PL - - + Larry Wall <larry@wall.org> ---------------- -Version 5.004_03 Maintenance release 3 for 5.004 +Version 5.004_64 Developer release working toward 5.005 ---------------- -"To err is human, to forgive divine." - -- Alexander Pope - - - HEADLINES FOR THIS MAINTENANCE RELEASE - - Fixed 5.004_02 compilation failure on VMS. - Fixed Configure (non)errors being displayed to user. - Better support for Windows 95. - Assorted documentation and hint file improvements. - perl --foo no longer silently ignored. - - - ------ BUILD PROCESS ------ - - Title: "Show Configure failure reason even with -s" - From: Andy Dougherty <doughera@newton.phys.lafayette.edu> - Msg-ID: <Pine.SUN.3.96.970812141623.14256K-100000@newton.phys> - Files: Configure - - Title: "Configure can stop without fully explaining itself" - From: Jim Anderson <jander@ml.com> - Msg-ID: <199708111328.JAA28976@nsd15.ny-swaps-develop.ml.com>, - <199708111952.PAA29346@nsd15.ny-swaps-develop.ml.com> - Files: Configure - - ------ CORE LANGUAGE ------ - - Title: "typos in perl -h output" - From: "Richard A. Wells" <Rwells@uhs.harvard.edu> - Msg-ID: <6D0BF914BC@gateuhs.harvard.edu> - Files: perl.c - - Title: "Some perldb -> PERLDB_* macro changes were missed" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199708100323.XAA27155@monk.mps.ohio-state.edu> - Files: pp_ctl.c - - Title: "Further fix to lseek's in lockf_emulate_flock" - From: Hallvard B Furuseth <h.b.furuseth@usit.uio.no> - Msg-ID: <199708060031.CAA07387@bombur2.uio.no>, - <199708102225.AAA16970@bombur2.uio.no> - Files: pp_sys.c - - Title: "GNU style perl --version (or any other --foo) ignored" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Kenneth Albanowski - <kjahds@kjahds.com>, Stephen McCamant <alias@mcs.com> - Msg-ID: <E0wx8MO-0007BS-00@ursa.cus.cam.ac.uk>, - <Pine.LNX.3.93.970813122557.9443C-100000@kjahds.com>, - <m0wy8nl-000EYgC@alias-2.pr.mcs.net> - Files: pod/perldiag.pod perl.c - - Title: "seen_dot declaration in perl.c needed for VMS" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199708072033.QAA09167@aatma.engin.umich.edu> - Files: perl.c - - ------ DOCUMENTATION ------ - - Title: "[PATCH] -D info in perlrun", "[PATCH] Re: -D info in perlrun" - From: Stephen McCamant <alias@mcs.com>, ilya@math.ohio-state.edu (Ilya - Zakharevich) - Msg-ID: <1997Aug10.195832.2224477@hmivax.humgen.upenn.edu>, - <m0wxNNL-000EYgC@alias-2.pr.mcs.net>, - <m0wxz6l-000EYgC@alias-2.pr.mcs.net> - Files: pod/perlrun.pod - - Title: "perlop pod inconsistent in presentation of regexp options" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Hans Mulder <hansm@icgned.nl>, - jmr@whirlwind.fmr.com - Msg-ID: <199708061404.KAA06717@whirlwind.fmr.com>, - <199708081505.LAA09810@whirlwind.fmr.com>, - <1997Aug7.160530.2196011@hmivax.humgen.upenn.edu>, - <E0wwnqc-00057s-00@ursa.cus.cam.ac.uk>, - <E0wwswg-00017x-00@ursa.cus.cam.ac.uk> - Files: pod/perlop.pod - - Title: "pod2man generated .IX lines upset whatis on Solaris" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, jmr@whirlwind.fmr.com (John - Redford) - Msg-ID: <E0wxoUZ-0006Ee-00@ursa.cus.cam.ac.uk> - Files: pod/pod2man.PL - - Title: "The description of the \Q metacharacter is confusing to novices" - From: aml@world.std.com (Andrew M. Langmead) - Msg-ID: <199708101946.AA06339@world.std.com> - Files: pod/perlre.pod - - Title: "doc patch for pack("p",undef) packing a NULL pointer" - From: pmarquess@bfsec.bt.co.uk (Paul Marquess) - Msg-ID: <9708102159.AA11726@claudius.bfsec.bt.co.uk> - Files: pod/perldelta.pod pod/perlfunc.pod - - Title: "perlfunc.pod error" - From: Tom Christiansen <tchrist@jhereg.perl.com> - Msg-ID: <199708102235.QAA18420@jhereg.perl.com> - Files: pod/perlfunc.pod - - ------ LIBRARY AND EXTENSIONS ------ - - Title: "patch for documentation error in FileCache.pm" - From: Mike Stok <mike@stok.co.uk>, mikebo@tellabs.com - Msg-ID: <Pine.LNX.3.95.970810143321.437C-100000@stok.co.uk> - Files: lib/FileCache.pm - - Title: "[PATCH] 5.004_02: Complex/Trig: update" - From: Jarkko Hietaniemi <jhi@iki.fi> - Msg-ID: <199708081842.VAA31214@alpha.hut.fi> - Files: lib/Math/Complex.pm lib/Math/Trig.pm t/lib/complex.t - - Title: "CPAN Use of uninitialized value in newest perl" - From: tom@amber.ssd.hcsc.com (Tom Horsley) - Msg-ID: <9708091738.AA16435@amber.ssd.hcsc.com> - Files: lib/CPAN.pm - - ------ PORTABILITY - WIN32 ------ - - Title: "[PATCH] /x is not a valid shell switch on Win95" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199708121720.NAA14760@aatma.engin.umich.edu> - Files: win32/win32.c - - Title: "[PATCH] Win95-proofing pl2bat" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199708121733.NAA14888@aatma.engin.umich.edu> - Files: MANIFEST win32/Makefile win32/makefile.mk win32/bin/pl2bat.pl - win32/bin/runperl.pl win32/bin/search.pl - win32/bin/webget.pl - - Title: "[PATCH] [OK] Perl5.004_02 on Alpha NT" - From: wmiddlet@adobe.com (William Middleton) - Msg-ID: <199708072100.OAA13141@ducks> - Files: win32/win32.c - - ------ PORTABILITY - OTHER ------ - - Title: "Improve dual-universe comments in hints/sunos_4_1.sh" - From: Andy Dougherty <doughera@newton.phys.lafayette.edu> - Msg-ID: <Pine.SUN.3.96.970812170358.14488E-100000@newton.phys> - Files: hints/sunos_4_1.sh - - Title: "Dynamic Loading on MkLinux (osname=linux,archname=ppc-linux)" - From: Chris Nandor <pudge@pobox.com>, Shimpei Yamashita - <shimpei@socrates.patnet.caltech.edu> - Msg-ID: <33EF1634.B36B6500@pobox.com> - Files: hints/linux.sh - - Title: "5.004_02 Configure - worrying but normal errors displayed to user" - From: Paul Marquess <pmarquess@bfsec.bt.co.uk>, pmarquess@bfsec.bt.co.uk - (Paul Marquess) - Msg-ID: <01BCA3DE.E257BFC0.pmarquess@bfsec.bt.co.uk>, - <9708102159.AA11726@claudius.bfsec.bt.co.uk> - Files: Configure os2/diff.configure - - Title: "Minor glitch with Perl 5.004_01 on SunOS 4.1.3 (groupstype)" - From: thad@thadlabs.com (Thad Floryan) - Msg-ID: <9708111415.AA03808@thadlabs.com> - Files: hints/sunos_4_1.sh - - Title: "SCO Openserver 5.0.4 - add comment to hint file re compiler bug" - From: Bill Glicker <billg@burrelles.com> - Msg-ID: <Pine.SCO.3.96.970811153021.18457A-100000@laura.burrelles.com> - Files: hints/sco.sh - - ------ UTILITIES ------ - - Title: "perlbug -d non-interactive (with patch)" - From: Ted Ashton <ashted@southern.edu> - Msg-ID: <199708071418.KAA15711@ns.southern.edu> - Files: utils/perlbug.PL - - - ----------------- -Version 5.004_02 Maintenance release 2 for 5.004 ----------------- - -"When you work you are a flute through whose - heart the whispering of the hours turns to music." - -- from The Prophet by Kahlil Gibran - - - HEADLINES FOR THIS MAINTENANCE RELEASE - - Major memory growth bug fixed. - Object destruction is more timely and orderly. - Further major enhancements to Win32 support, including: - Win32 binary compatibility between Visual C++ and Borland C++. - The -S option is now more useful on dos/Win32 (see perlrun). - Implicit -p print now checks for write errors. - DB_File now sub-classable (and other fixes). - Memory usage stats available with perl's malloc (see perldelta). - 'use UNIVERSAL;' deprecated (see perldelta). - Internal integer to string conversions are faster. - Carp can be forced to give stack traces (see perldoc Carp). - Many other bug fixes and enhancements. - - - ------ BUILD PROCESS ------ - - Title: "[PATCH] m2t3: Configure: cf_time always in C locale" - From: Jarkko Hietaniemi <jhi@iki.fi> - Msg-ID: <199708061827.VAA09623@alpha.hut.fi> - Files: Configure - - Title: "Configure can't find open3 on NeXTstep" - From: Andy Dougherty <doughera@newton.phys.lafayette.edu>, hans@icgned.nl - (Hans Mulder) - Msg-ID: <9706271816.AA10551@ icgned.icgned.nl > - Files: Configure - - Title: "Don't use undef value in Config::myconfig" - From: "Andreas J. Koenig" <k@sissy.in-berlin.de>, Chip Salzenberg - <salzench@nielsenmedia.com> - Msg-ID: <199706271525.RAA13517@sissy.in-berlin.de> - Files: configpm - - Title: "make Configure recognize powerux hint (perl5.004_01)" - From: tom@amber.ssd.hcsc.com (Tom Horsley) - Msg-ID: <9707301938.AA08352@amber.ssd.hcsc.com> - Files: Configure - - Title: "[PATCH]: HP-UX 10 w/o transition links" - From: Jeff Okamoto <okamoto@hpcc123.corp.hp.com> - Msg-ID: <199706181851.AA093329906@hpcc123.corp.hp.com>, - <199706231650.AA070364627@hpcc123.corp.hp.com> - Files: Configure - - Title: "INSTALL updates for GNU ld and __inet_* errors" - From: Andy Dougherty <doughera@newton.phys.lafayette.edu> - Files: INSTALL - - ------ CORE LANGUAGE ------ - - Title: "[PATCH] Additional patch for "Can't execute ..."" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199707191651.MAA04897@monk.mps.ohio-state.edu> - Files: pod/perldiag.pod perl.c - - Title: "[PATCH] Band-aid fix for local([@%]$x)" - From: Stephen McCamant <alias@mcs.com> - Msg-ID: <m0wsb7J-000EYPC@alias-2.pr.mcs.net> - Files: pod/perldiag.pod op.c pp_hot.c t/op/local.t - - Title: "[PATCH] Re: Bug in Regular Expressions when using colon as - delimiter" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> - Msg-ID: <E0wtbhv-0005Mm-00@ursa.cus.cam.ac.uk> - Files: pod/perldiag.pod regcomp.c t/op/re_tests t/op/regexp.t - - Title: "[PATCH] Re: Can't pack literals as pointers" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199708012250.SAA20278@aatma.engin.umich.edu> - Files: pod/perldiag.pod pod/perlfunc.pod pp.c t/op/pack.t - - Title: "[PATCH] Do not constant-fold ops that depend on locale if C<use - locale>" - From: Chip Salzenberg <salzench@nielsenmedia.com> - Msg-ID: <199707210519.BAA13785@nielsenmedia.com> - Files: op.c - - Title: "Eval fails in certain situations (eval "{'...")" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199707211753.NAA14940@aatma.engin.umich.edu> - Files: t/comp/term.t toke.c - - Title: "Fix memory leak on eval 'sub {}'" - From: Chip Salzenberg <chip@rio.atlantic.net> - Files: pp_ctl.c - - Title: "stringify looses integerness" - From: Gisle Aas <aas@bergen.sn.no> - Msg-ID: <hbu4l96z2.fsf@bergen.sn.no> - Files: sv.c - - Title: "Fix intolerance of a space between "print" and opening paren" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199707011421.KAA15836@aatma.engin.umich.edu> - Files: toke.c - - Title: "[PATCH] Re: Calling Perl from within C from within Perl" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199706301842.OAA05569@aatma.engin.umich.edu> - Files: perl.c - - Title: "UNIVERSAL.pm and import methods (tests)" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> - Msg-ID: <E0whfHh-0007bW-00@ursa.cus.cam.ac.uk> - Files: t/op/universal.t universal.c - - Title: "Avoid core dump on some paren'd regexp matches", "One-liner regex - causes SEGV on 5.003 under HP-UX and Linux" - From: Hugo van der Sanden <hv@crypt.compulink.co.uk> - Msg-ID: <199706261236.NAA03472@crypt.compulink.co.uk>, - <199707061144.MAA04443@crypt.compulink.co.uk> - Files: regexec.c t/op/re_tests - - Title: "Forbid negative splice offset beyond array start" - From: "John L. Allen" <allen@gateway.grumman.com>, Chip Salzenberg - <chip@rio.atlantic.net> - Msg-ID: <Pine.SOL.3.91.970625111744.19300A-100000@gateway> - Files: pp.c - - Title: "Forbid "goto" into middle of foreach loop" - From: Chip Salzenberg <chip@rio.atlantic.net> - Files: pod/perldiag.pod pp_ctl.c - - Title: "Fix C<qq #hi#>" - From: Chip Salzenberg <chip@rio.atlantic.net> - Files: toke.c - - Title: "bless file handles as FileHandle if loaded else IO::Handle" - From: Gisle Aas <aas@bergen.sn.no> - Msg-ID: <hyb80drrz.fsf@bergen.sn.no> - Files: gv.c lib/FileHandle.pm - - Title: "infinite recursion in malloc() with some compile flags" - From: Hans Mulder <hansmu@xs4all.nl> - Msg-ID: <199706240050.CAA10550@xs2.xs4all.nl> - Files: malloc.c - - Title: "sv_vcatpvfn hogs memory [Patch included]" - From: Matthias Neeracher <neeri@iis.ee.ethz.ch> - Msg-ID: <199706211521.RAA12778@solar.ethz.ch> - Files: sv.c - - Title: "Fix '-' flag on sprintf() of floats" - From: Chip Salzenberg <chip@rio.atlantic.net>, Jarkko Hietaniemi - <jhi@iki.fi> - Msg-ID: <199705270646.JAA02510@alpha.hut.fi> - Files: sv.c - - Title: "Free temps before calling END blocks", "Too late destruction" - From: Chip Salzenberg <chip@rio.atlantic.net> - Msg-ID: <m33erfv5hx.fsf@chany-p100.emwp.com> - Files: perl.c - - Title: "Fix C<print $foo x 2> parsing" - From: "Chuck D. Phillips (NON-HP Employee)" <cdp@hpescdp.fc.hp.com>, Chip - Salzenberg <chip@rio.atlantic.net> - Msg-ID: <199706121737.KAA00503@palrel3.hp.com> - Files: toke.c - - Title: "Fix lockf_emulate_flock() positioning" - From: Chip Salzenberg <chip@rio.atlantic.net>, gen@atd.rdc.ricoh.co.jp - Msg-ID: <199706091132.UAA00895@wampa.atd.rdc.ricoh.co.jp> - Files: pp_sys.c - - Title: "Don't use atol() for unsigned values", "signedness problem in - pack("N", "value");" - From: Chip Salzenberg <chip@rio.atlantic.net>, Roger Espel Llima - <espel@llaic.univ-bpclermont.fr> - Msg-ID: <19970531200007.40218@llaic.univ-bpclermont.fr> - Files: sv.c - - Title: "Don't warn about "${foo}" in string, even if &foo exists" - From: Chip Salzenberg <chip@rio.atlantic.net> - Files: toke.c - - Title: "[PATCH] -p does not check for failure of implicit print" - From: Dominic Dunlop <domo@slipper.ip.lu> - Msg-ID: <v0311070aafea3fa83061@[194.51.248.75]> - Files: pod/perldiag.pod pod/perlrun.pod toke.c - - Title: "Fix double form() in XS version check" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199707150010.UAA00816@monk.mps.ohio-state.edu> - Files: XSUB.h - - Title: "Constant-fold sprintf()" - From: Chip Salzenberg <salzench@nielsenmedia.com> - Files: opcode.pl - - Title: "[PATCH] Fix double form() in XS version check" - From: Chip Salzenberg <salzench@nielsenmedia.com> - Msg-ID: <199707210518.BAA13771@nielsenmedia.com> - Files: XSUB.h - - Title: "[PATCH] Make DEBUGGING_MSTATS info consistent" - From: Andy Dougherty <doughera@newton.phys.lafayette.edu> - Msg-ID: <Pine.SUN.3.96.970731131529.3740A-100000@newton.phys> - Files: INSTALL pod/perldelta.pod perl.h - - Title: "Minor Win32 glitch with -S flag" - From: Warren Jones <wjones@tc.fluke.com> - Msg-ID: <97Jun19.150511pdt.35717-2@gateway.fluke.com> - Files: perl.c - - Title: "Slightly safer signals" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Files: mg.c perl.c - - Title: "Time::Local patch (plus perl.c and filehand.t)" - From: ilya@math.ohio-state.edu (Ilya Zakharevich) - Files: lib/Time/Local.pm perl.c t/lib/filehand.t - - Title: "[PATCH] Weirdness in sv_peek()" - From: Stephen McCamant <alias@mcs.com> - Msg-ID: <m0wsEMU-000EYLC@alias-2.pr.mcs.net>, - <m0wsf7Y-000EYPC@alias-2.pr.mcs.net> - Files: sv.c - - Title: "Win32 UNC path causes autoload to fail" - From: Warren Jones <wjones@tc.fluke.com> - Msg-ID: <97Jun18.163826pdt.35714-1@gateway.fluke.com> - Files: pp_ctl.c - - Title: "[PATCH]: reduced malloc patch" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199707150829.EAA01291@monk.mps.ohio-state.edu> - Files: av.c - - Title: "[PATCH] $\1 and serious bug in evalling" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199707262127.RAA12883@monk.mps.ohio-state.edu> - Files: pp_ctl.c - - Title: "Faster int to string conversion", "[PATCH} Re: memory leak in buffer - safety code" - From: Chip Salzenberg <chip@rio.atlantic.net>, Hugo van der Sanden - <hv@crypt.compulink.co.uk>, Tim Bunce <Tim.Bunce@ig.co.uk> - Msg-ID: <199707140912.KAA09935@crypt.compulink.co.uk>, - <199707142050.QAA20976@rio.atlantic.net>, - <199707182035.VAA20990@crypt.compulink.co.uk>, - <9707151040.AA02883@toad.ig.co.uk> - Files: global.sym sv.c - - Title: "object never destructs" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199707131955.PAA29655@aatma.engin.umich.edu> - Files: scope.c t/op/ref.t - - Title: "[PATCH] -S flag fixes for DOSISH platforms", "[RESEND] [PATCH] -S - flag fixes for DOSISH platforms" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199707250043.UAA02385@aatma.engin.umich.edu>, - <199707301828.OAA19508@aatma.engin.umich.edu> - Files: pod/perldiag.pod pod/perlrun.pod perl.c - - Title: "Perldb internal flag rehaul" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Files: pod/perldebug.pod pod/perlvar.pod perl.h gv.c mg.c op.c perl.c - pp_ctl.c pp_hot.c pp_sys.c sv.c toke.c - - Title: "[PATCH] Re: q and escaping paired delimiters" - From: Gurusamy Sarathy <gsar@engin.umich.edu>, Kenneth Albanowski - <kjahds@kjahds.com> - Msg-ID: <199707280516.BAA14055@aatma.engin.umich.edu>, - <Pine.LNX.3.93.970727172201.350K-100000@kjahds.com>, - <Pine.LNX.3.93.970728013540.350U-100000@kjahds.com> - Files: t/base/lex.t toke.c - - Title: "Enable PERL_DEBUG_MSTATS without -DDEBUGGING_MSTATS" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199707150829.EAA01291@monk.mps.ohio-state.edu> - Files: malloc.c perl.c - - Title: "semctl broken under Linux" - From: Andreas Schwab <schwab@LS5.informatik.uni-dortmund.de>, Andreas - Schwab <schwab@issan.informatik.uni-dortmund.de>, Graham - Barr <gbarr@ti.com>, Tim Bunce <Tim.Bunce@ig.co.uk> - Msg-ID: <33C38291.2D9302DA@ti.com>, - <9707040912.AA03470@issan.informatik.uni-dortmund.de>, - <9707041538.AA08946@toad.ig.co.uk>, - <9707070924.AA11774@issan.informatik.uni-dortmund.de>, - <9707090933.AA19012@issan.informatik.uni-dortmund.de> - Files: doio.c - - Title: "[PATCH] m2t2: problem in NetBSD 1.2D with sfio" - From: Jarkko Hietaniemi <jhi@iki.fi> - Files: perl.h - - Title: "fix substr fix (tests 27 etc)", "perl5.004_02 trial 1 available - (with substr bug and still some" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Hugo van der Sanden - <hv@crypt.compulink.co.uk>, Jarkko Hietaniemi <jhi@iki.fi> - Msg-ID: <199707301759.SAA02899@crypt.compulink.co.uk>, - <199707302228.BAA18032@alpha.hut.fi>, - <199707310929.KAA06515@crypt.compulink.co.uk>, - <E0wtruH-0002JM-00@ursa.cus.cam.ac.uk> - Files: pp.c - - Title: "Fwd: substr("foo", -1000)", "substr: warn if substring doesn't - intersect original at all" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Jarkko Hietaniemi <jhi@iki.fi> - Msg-ID: <199707100655.JAA14924@alpha.hut.fi>, - <E0wm1JG-0000UY-00@taurus.cus.cam.ac.uk> - Files: pod/perlfunc.pod pp.c t/op/substr.t - - Title: "[PATCH] work around compiler bug on CX/UX (perl5.004_01)" - From: tom@amber.ssd.hcsc.com (Tom Horsley) - Msg-ID: <9707301934.AA18594@amber.ssd.hcsc.com> - Files: hints/cxux.sh pp.c - - ------ DOCUMENTATION ------ - - Title: "Duplicates in perlguts.pod" - From: hans@icgned.nl (Hans Mulder) - Msg-ID: <9707082346.AA13231@ icgned.icgned.nl > - Files: pod/perlguts.pod - - Title: "Better "Can't locate auto/%s.al in @INC" error documentation" - From: ilya@math.ohio-state.edu (Ilya Zakharevich) - Msg-ID: <1997Jun24.195847.2091744@hmivax.humgen.upenn.edu> - Files: pod/perldiag.pod - - Title: "new perlembed.pod:match.c" - From: Doug MacEachern <dougm@opengroup.org> - Msg-ID: <199707170355.XAA21370@postman.opengroup.org> - Files: pod/perlembed.pod - - Title: "Document bug fix in localization of $1 etc." - From: Chip Salzenberg <salzench@nielsenmedia.com> - Files: pod/perldelta.pod - - Title: "[PATCH] Major goof in XS Tutorial regarding subdirs" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199707260920.FAA12453@monk.mps.ohio-state.edu> - Files: pod/perlxstut.pod - - Title: "[PATCH] Magic info in perlguts, take 2" - From: Stephen McCamant <alias@mcs.com> - Msg-ID: <m0wr6P8-000EYLC@alias-2.pr.mcs.net> - Files: pod/perlguts.pod - - Title: "[BUG:PATCH] Missing semicolon message wrong in perldiag" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> - Msg-ID: <E0welEn-0002vT-00@taurus.cus.cam.ac.uk>, - <E0wfRJU-0006Aw-00@taurus.cus.cam.ac.uk> - Files: pod/perldiag.pod - - Title: "[PATCH] Updates to perlguts (repost)" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199707152223.SAA00776@monk.mps.ohio-state.edu> - Files: pod/perlguts.pod - - Title: "[BUG:47:LOG] Dropped "and" in pod2man" - From: hans@icgned.nl (Hans Mulder) - Msg-ID: <9707082355.AA13254@ icgned.icgned.nl > - Files: pod/pod2man.PL - - Title: "[BUG] perlembed.pod:power.c example" - From: Doug MacEachern <dougm@opengroup.org> - Msg-ID: <199707181344.JAA10565@postman.opengroup.org> - Files: pod/perlembed.pod - - Title: "[PATCH] arguments swapped in perlapio.pod" - From: Hans Mulder <hansmu@xs4all.nl> - Msg-ID: <199706240049.CAA10534@xs2.xs4all.nl> - Files: pod/perlapio.pod - - Title: "[PATCH] cool quote for perldebug" - From: Greg Bacon <gbacon@adtrn-srv4.adtran.com> - Msg-ID: <199707292140.QAA28579@adtrn-srv4.adtran.com> - Files: pod/perldebug.pod - - Title: "[PATCH] multiline commands in qx//" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199707212350.TAA18496@aatma.engin.umich.edu> - Files: pod/perlfunc.pod pod/perlop.pod - - Title: "patch to 5.004_01 perltrap.pod" - From: jmm@revenge.elegant.com (John Macdonald) - Msg-ID: <9706231525.AA22790@revenge.elegant.com> - Files: pod/perltrap.pod - - Title: "perl4 to perl5.004 converion with debugger problem" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> - Msg-ID: <E0wdKJY-00010w-00@taurus.cus.cam.ac.uk> - Files: pod/perltrap.pod - - Title: "done3/perlbook.pod" - From: Randal Schwartz <merlyn@gadget.cscaper.com> - Files: pod/perlbook.pod - - Title: "[PATCH] readline and readpipe are undocumented" - From: Hans Mulder <hansmu@xs4all.nl> - Files: pod/perlfunc.pod - - Title: "Document use of - in a regex char class." - From: Dominic Dunlop <domo@slipper.ip.lu> - Msg-ID: <v03102804afd578bcef2c@[194.51.248.88]> - Files: pod/perlre.pod - - Title: "[PATCH] splitpod broken in 5.004_01" - From: Hans Mulder <hansmu@xs4all.nl>, Tim Bunce <Tim.Bunce@ig.co.uk> - Msg-ID: <199706240048.CAA10515@xs2.xs4all.nl>, - <9706241612.AA09119@toad.ig.co.uk> - Files: pod/splitpod - - ------ LIBRARY AND EXTENSIONS ------ - - Title: "Carp::cluck() and -MCarp=verbose" - From: Tim.Bunce@ig.co.uk, epeschko@elmer.tci.com (Ed Peschko) - Msg-ID: <199708060607.AAA16681@den-mdev1.tci.com>, - <199708062105.PAA09878@den-mdev1.tci.com> - Files: lib/Carp.pm - - Title: "Warning from calls using "use Shell"" - From: Andrew Pimlott <pimlott@abel.math.harvard.edu> - Msg-ID: <Pine.SOL.3.91.970806173903.7320H-100000@abel> - Files: lib/Shell.pm - - Title: "confessing a carp" - From: Chip Salzenberg <chip@rio.atlantic.net>, Hugo van der Sanden - <hv@crypt.compulink.co.uk>, Nick Ing-Simmons - <nick@ni-s.u-net.com>, Tim Bunce <Tim.Bunce@ig.co.uk> - Msg-ID: <199708052155.WAA25393@crypt.compulink.co.uk>, - <199708060721.IAA30894@crypt.compulink.co.uk>, - <199708061533.LAA01313@rio.atlantic.net>, - <33E79BE2.4E6F@ni-s.u-net.com>, - <33E8E3C5.62C@ni-s.u-net.com>, - <9708051619.AA13764@toad.ig.co.uk> - Files: lib/Carp.pm - - Title: "[BUG:PATCH] dumpvar.pl parses some references incorrectly" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> - Msg-ID: <E0wwAjQ-0004l6-00@ursa.cus.cam.ac.uk> - Files: lib/dumpvar.pl - - Title: "[PATCH] m2t3: minor doc patch (to obsolete I18N::Collate)" - From: Jarkko Hietaniemi <jhi@iki.fi> - Msg-ID: <199708060732.KAA02675@alpha.hut.fi> - Files: lib/I18N/Collate.pm - - Title: "[PATCH] Binary installers for Perl modules" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199707210006.UAA06165@monk.mps.ohio-state.edu> - Files: lib/ExtUtils/Install.pm - - Title: "m2t2 broke CPAN.pm :-(" - From: a.koenig@kulturbox.de (Andreas J. Koenig) - Files: lib/CPAN.pm lib/Bundle/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm - - Title: "[PATCH] CPAN.pm on OS/2" - From: "Andreas J. Koenig" <k@anna.in-berlin.de>, Ilya Zakharevich - <ilya@math.ohio-state.edu> - Msg-ID: <199707180415.AAA03180@monk.mps.ohio-state.edu>, - <199707181407.QAA12920@anna.in-berlin.de> - Files: lib/CPAN.pm - - Title: "Docs of IO::Handle [PATCH]" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199707222307.TAA08380@monk.mps.ohio-state.edu> - Files: ext/IO/lib/IO/Handle.pm - - Title: "Exporter errors give wrong location" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> - Msg-ID: <E0wdJra-0000n8-00@taurus.cus.cam.ac.uk> - Files: lib/Exporter.pm - - Title: "[PATCH] Exporter new export_to_level method" - From: epeschko@elmer.tci.com (Ed Peschko) - Files: lib/Exporter.pm - - Title: "DB_File produces spurious output when trapping __DIE__" - From: pmarquess@bfsec.bt.co.uk (Paul Marquess) - Msg-ID: <9706302125.AA28254@claudius.bfsec.bt.co.uk> - Files: ext/DB_File/DB_File.pm - - Title: "Remove 'use UNIVERSAL;', switch to UNIVERSAL::isa()" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> - Msg-ID: <E0whaZJ-0007BA-00@ursa.cus.cam.ac.uk> - Files: lib/Class/Struct.pm lib/File/Compare.pm lib/File/Copy.pm - - Title: "perl5.004 Time::Local still broken" - From: Mathias Koerber <mathias@dnssec1.singnet.com.sg> - Msg-ID: <199706260452.MAA22647@dnssec1.singnet.com.sg> - Files: lib/Time/Local.pm - - Title: "Sys::Hostname should localize $SIG{__DIE__}" - From: Ken Shan <ken@digitas.harvard.edu> - Msg-ID: <199707070357.XAA18065@digitas.harvard.edu> - Files: lib/Sys/Hostname.pm - - Title: "xsubpp patch" - From: John Tobey <jtobey@user1.channel1.com> - Msg-ID: <199707010221.CAA01234@remote133> - Files: lib/ExtUtils/xsubpp - - Title: "DB_File 1.15 patch" - From: pmarquess@bfsec.bt.co.uk (Paul Marquess) - Msg-ID: <9707192117.AA01973@claudius.bfsec.bt.co.uk> - Files: 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 - - Title: "Problems with setvbuf" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199707250040.UAA11000@monk.mps.ohio-state.edu> - Files: ext/IO/IO.xs - - Title: "[PATCH] Repost of fork() debugger patch" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199707252101.RAA11846@monk.mps.ohio-state.edu> - Files: lib/perl5db.pl lib/Term/ReadLine.pm - - Title: "IO::File and DB_File pollutes namespace with Fcntl constants" - From: Gisle Aas <aas@bergen.sn.no> - Msg-ID: <h205qyijy.fsf@bergen.sn.no> - Files: ext/IO/lib/IO/File.pm - - Title: "[MM] [PATCH] Re: Liblist problems for MSWin32" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199706182152.RAA20273@aatma.engin.umich.edu> - Files: lib/ExtUtils/Liblist.pm - - Title: "Net::hostent documentation error" - From: gnat@frii.com - Msg-ID: <199707082222.QAA24728@elara.frii.com> - Files: lib/Net/hostent.pm - - Title: "PATCH: make DBM*_File modules sub-classable" - From: pmarquess@bfsec.bt.co.uk (Paul Marquess) - Msg-ID: <9707121854.AA19472@claudius.bfsec.bt.co.uk> - Files: ext/GDBM_File/typemap ext/NDBM_File/typemap - ext/ODBM_File/ODBM_File.xs ext/SDBM_File/typemap - t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t t/lib/sdbm.t - - Title: "Sys::Syslog patch to allow unix domain sockets" - From: Sean Robinson <robinson_s@sc.maricopa.edu> - Msg-ID: <33B31342.7EB16A44@sc.maricopa.edu> - Files: lib/Sys/Syslog.pm - - Title: "'use UNIVERSAL;' deprecated, do C<UNIVERSAL::isa()> instead", - "UNIVERSAL.pm and import methods" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Gisle Aas <aas@bergen.sn.no>, - Graham Barr <gbarr@ti.com>, Gurusamy Sarathy - <gsar@engin.umich.edu>, Hugo van der Sanden - <hv@crypt.compulink.co.uk> - Msg-ID: <199706271701.NAA25664@aatma.engin.umich.edu>, - <199706271904.UAA00120@crypt.compulink.co.uk>, - <199706272054.QAA28913@aatma.engin.umich.edu>, - <199706301554.LAA03763@aatma.engin.umich.edu>, - <33B22248.7D7C1985@ti.com>, - <E0wf5TN-0006ps-00@taurus.cus.cam.ac.uk>, - <E0wguTR-0005bs-00@ursa.cus.cam.ac.uk>, - <E0whaZJ-0007BA-00@ursa.cus.cam.ac.uk>, - <E0whfHh-0007bW-00@ursa.cus.cam.ac.uk>, - <E0wiyUG-00073j-00@taurus.cus.cam.ac.uk>, - <hiuyv6q9k.fsf@bergen.sn.no> - Files: lib/Class/Struct.pm lib/File/Compare.pm lib/File/Copy.pm - t/op/universal.t universal.c - - Title: "[MM] Small patch to MakeMaker, new release" - From: "Andreas J. Koenig" <k@anna.in-berlin.de> - Msg-ID: <199706281603.SAA10869@anna.in-berlin.de> - Files: lib/ExtUtils/Command.pm lib/ExtUtils/Install.pm - lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Unix.pm - lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm - - Title: "ExtUtils-Embed upgrade" - From: Doug MacEachern <dougm@opengroup.org> - Files: lib/ExtUtils/Embed.pm - - Title: "[PATCH] icmp tweak for IO::Socket" - From: Nick.Ing-Simmons@tiuk.ti.com - Msg-ID: <199707041240.NAA21484@pluto.tiuk.ti.com> - Files: ext/IO/lib/IO/Socket.pm - - Title: "Allow concurrent mkdir in File::Path::mkpath" - From: schattev@imb-jena.de (Ruben Schattevoy) - Msg-ID: <199707300943.LAA21574@kant.imb-jena.de> - Files: lib/File/Path.pm - - Title: "CPAN.pm, $VERSION and nested (bundled) modules." - From: a.koenig@kulturbox.de (Andreas J. Koenig) - Files: lib/ExtUtils/Install.pm lib/ExtUtils/Liblist.pm - lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm - lib/ExtUtils/Mksymlists.pm - - Title: "[PATCH] perl debugger, win32, and emacs" - From: Jay Rogers <jay@rgrs.com> - Msg-ID: <199707311759.NAA13276@crooked-i.mitre.org> - Files: lib/perl5db.pl - - Title: "[PATCH] pod2html mangles C<&foo(42);>" - From: Hans Mulder <hansmu@xs4all.nl> - Msg-ID: <199706250057.CAA10162@xs1.xs4all.nl> - Files: lib/Pod/Html.pm - - Title: "[PATCH] posix.xs broken on VMS 7.1" - From: Dan Sugalski <sugalsd@lbcc.cc.or.us> - Msg-ID: <3.0.2.32.19970718095755.00875ba0@stargate.lbcc.cc.or.us> - Files: ext/POSIX/POSIX.xs - - Title: "MM_Unix.pm nits for Win32 DMAKE" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199708032051.QAA14248@aatma.engin.umich.edu> - Files: lib/ExtUtils/MM_Unix.pm - - Title: "Sys::Hostname -w unclean in trial 2" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199708032055.QAA14278@aatma.engin.umich.edu> - Files: lib/Sys/Hostname.pm - - Title: "(3) File::Find::find()/finddepth() bugs with toplevel paths" - From: "Conrad E. Kimball" <cek@tblv021.ca.boeing.com> - Msg-ID: <199707040045.RAA24459@mailgate2.boeing.com> - Files: lib/File/Find.pm - - ------ OTHER CHANGES ------ - - Title: "EMERGENCY_SBRK or PERL_EMERGENCY_SBRK ?" - From: Andy Dougherty <doughera@newton.phys.lafayette.edu>, - ilya@math.ohio-state.edu (Ilya Zakharevich) - Msg-ID: <1997Aug1.191631.2167470@hmivax.humgen.upenn.edu>, - <Pine.SUN.3.96.970801134400.4393F-100000@newton.phys> - Files: - Files: - - ------ PORTABILITY - WIN32 ------ - - Title: "[PATCH] Embedding threaded apps in perl.dll" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199707261518.LAA24346@aatma.engin.umich.edu>, - <199707301833.OAA19570@aatma.engin.umich.edu> - Files: win32/win32.c - - Title: "Minor fix for pl2bat.bat", "[PATCH] Re: Minor fix for pl2bat.bat" - From: Gurusamy Sarathy <gsar@engin.umich.edu>, Warren Jones - <wjones@tc.fluke.com> - Msg-ID: <199707061843.OAA23874@aatma.engin.umich.edu>, - <97Jun24.115804pdt.35752-2@gateway.fluke.com> - Files: win32/bin/pl2bat.bat - - Title: "WIN32 Build - pod2xxx.bat Missing?", "[PATCH] Re: WIN32 Build - - pod2xxx.bat Missing?" - From: Chris Williams <chrisw@netinfo.com.au>, Gurusamy Sarathy - <gsar@engin.umich.edu> - Msg-ID: <199707011423.KAA15855@aatma.engin.umich.edu>, - <33B8B962.D96FA1F5@netinfo.com.au> - Files: win32/Makefile win32/makefile.mk - - Title: "[PATCH] Win32 sitelib intuition from DLL location" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199706231647.MAA23260@aatma.engin.umich.edu> - Files: win32/win32.h win32/config_h.PL win32/win32.c - - Title: "[PATCH] binary coexistence on win32", "[RESEND] [PATCH] binary - coexistence on win32" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199707250109.VAA02666@aatma.engin.umich.edu>, - <199707301829.OAA19516@aatma.engin.umich.edu> - Files: lib/ExtUtils/Mksymlists.pm win32/win32.h win32/win32io.h - win32/win32iop.h win32/makedef.pl win32/win32.c - win32/win32io.c - - Title: "[PATCH] docs for win32 utilities" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199707250045.UAA02510@aatma.engin.umich.edu> - Files: win32/bin/pl2bat.bat win32/bin/runperl.bat - - Title: "[PATCH] exec() fixed on win32" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199706241525.LAA06554@aatma.engin.umich.edu> - Files: win32/win32.h win32/win32io.h win32/win32iop.h README.win32 doio.c - win32/config_H.bc win32/config_H.vc win32/makedef.pl - win32/win32.c win32/win32io.c - - Title: "[PATCH] getenv() after my_setenv() gets old entry on Win32" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199706231700.NAA23400@aatma.engin.umich.edu> - Files: win32/win32.h win32/win32.c - - Title: "[PATCH] getservby*() calls fail on Windows NT" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199706231654.MAA23276@aatma.engin.umich.edu> - Files: win32/win32sck.c - - Title: "[PATCH] minor win32 scribbles" - From: Gurusamy Sarathy <gsar@engin.umich.edu>, Hugo van der Sanden - <hv@crypt.compulink.co.uk> - Msg-ID: <199707262307.TAA28410@aatma.engin.umich.edu>, - <199707270832.JAA19399@crypt.compulink.co.uk> - Files: pod/perldelta.pod README.win32 win32/Makefile win32/config.bc - win32/config.vc win32/makefile.mk - - Title: "[PATCH] trial2: some batch files won't run" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199708040226.WAA17301@aatma.engin.umich.edu> - Files: win32/bin/pl2bat.bat win32/bin/runperl.bat - - Title: "[PATCH] win32 docs and runperl.bat" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199707070446.AAA29560@aatma.engin.umich.edu> - Files: MANIFEST README.win32 win32/bin/pl2bat.bat win32/bin/runperl.bat - - Title: "[PATCH] win32 extras and embedding" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199707250232.WAA03421@aatma.engin.umich.edu>, - <199707301831.OAA19528@aatma.engin.umich.edu> - Files: dosish.h win32/win32.h perl.c win32/config.bc win32/config_H.bc - win32/makedef.pl win32/perllib.c win32/win32.c - - Title: "[PATCH] win32 tweaks" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199707042150.RAA01065@aatma.engin.umich.edu> - Files: win32/win32.h win32/win32.c - - Title: "[PATCH] win32_stat() fixes (2nd try)" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199708040137.VAA16810@aatma.engin.umich.edu> - Files: t/op/stat.t win32/win32iop.h win32/win32.c - - ------ PORTABILITY - OTHER ------ - - Title: "Additional OS/2 patches" - From: Gurusamy Sarathy <gsar@engin.umich.edu>, Ilya Zakharevich - <ilya@math.ohio-state.edu> - Msg-ID: <199708020823.EAA19521@monk.mps.ohio-state.edu>, - <199708021424.KAA28561@aatma.engin.umich.edu>, - <199708042108.RAA27671@aatma.engin.umich.edu> - Files: README.os2 os2/Changes perl.c - - Title: "Additional patch is needed for os2/diff.configure" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199708020745.DAA19483@monk.mps.ohio-state.edu> - Files: os2/diff.configure - - Title: "Assorted OS/2 fixes" - From: ilya@math.ohio-state.edu (Ilya Zakharevich) - Msg-ID: <1997Jun16.163234.2091727@hmivax.humgen.upenn.edu> - Files: hints/os2.sh os2/diff.configure os2/os2ish.h README.os2 os2/Changes - os2/Makefile.SHs os2/os2.c util.c - - Title: "[PATCH] Changes for VMS 7.1 support" - From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>, Dan Sugalski - <sugalsd@lbcc.cc.or.us> - Msg-ID: <01ILDXUH0J1W00026U@hmivax.humgen.upenn.edu>, - <3.0.2.32.19970718095935.0087a2d0@stargate.lbcc.cc.or.us> - Files: vms/sockadapt.h vms/config.vms vms/sockadapt.c - - Title: "[PATCH] Easier TCP stack selection for VMS" - From: Dan Sugalski <sugalsd@lbcc.cc.or.us> - Msg-ID: <3.0.1.32.19970624151939.00994490@stargate.lbcc.cc.or.us> - Files: vms/descrip.mms - - Title: "Minor VMS patches" - From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> - Msg-ID: <01ILCUO6XXTE000WFK@hmivax.humgen.upenn.edu> - Files: lib/ExtUtils/MM_VMS.pm vms/vmsish.h vms/descrip.mms vms/test.com - vms/vms.c vms/ext/filespec.t - - Title: "[PATCH] Two un-disabled tests for VMS" - From: Dan Sugalski <sugalsd@lbcc.cc.or.us> - Msg-ID: <3.0.2.32.19970718095842.00879220@stargate.lbcc.cc.or.us> - Files: vms/test.com - - Title: "fixes for hints/svr4 for UnixWare >= 2.1.1" - From: John Hughes <john@titanic.atlantech.com> - Msg-ID: <199707021230.OAA24230@titanic.AtlanTech.COM> - Files: hints/svr4.sh - - Title: "make depend loop fix and minor OS/2 improvements to build process" - From: ilya@math.ohio-state.edu (Ilya Zakharevich) - Files: Makefile.SH hints/os2.sh os2/Makefile.SHs - - ------ TESTS ------ - - Title: "Add xor tests to test suite" - From: Hugo van der Sanden <hv@crypt.compulink.co.uk> - Msg-ID: <199706250730.IAA06097@crypt.compulink.co.uk> - Files: t/comp/cmdopt.t - - Title: "[PATCH] enable some tests on Win32" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199707250029.UAA02351@aatma.engin.umich.edu> - Files: t/op/magic.t - - Title: "Fix up problems with *DBM tests" - From: Paul Marquess <pmarquess@bfsec.bt.co.uk> - Files: t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t t/lib/sdbm.t - - ------ UTILITIES ------ - - Title: "[PATCH] m2t3: utils/perlbug.PL: -ok report is not a bug" - From: Jarkko Hietaniemi <jhi@iki.fi> - Msg-ID: <199708071022.NAA13008@alpha.hut.fi> - Files: utils/perlbug.PL - - Title: "perlbug - check sendmail and fix win32 tmp path" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199708060349.XAA15895@aatma.engin.umich.edu> - Files: utils/perlbug.PL - - Title: "OK: perl <some_version> on <some_system> (corrected)", "enhancements - to perlbug -ok" - From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Stephen McCamant <alias@mcs.com> - Msg-ID: <E0wukVt-0006Da-00@ursa.cus.cam.ac.uk>, - <E0wvMQl-00055y-00@ursa.cus.cam.ac.uk>, - <m0wv81x-000EYPC@alias-2.pr.mcs.net> - Files: utils/Makefile utils/perlbug.PL - - Title: "perlbug -ok [PATCH]" - From: "Charles F. Randall" <crandall@free.click-n-call.com> - Msg-ID: <199706181824.MAA04082@free.click-n-call.com> - Files: utils/perlbug.PL - - Title: "perlbug broken" - From: Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - Msg-ID: <9707040912.AA03466@issan.informatik.uni-dortmund.de> - Files: utils/perlbug.PL - - Title: "[PATCH] perlbug under OS/2" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199707180333.XAA03102@monk.mps.ohio-state.edu> - Files: utils/perlbug.PL - - Title: "perldoc doesn't grok Win32 UNC paths" - From: Warren Jones <wjones@tc.fluke.com> - Msg-ID: <97Jun17.184420pdt.35728-1@gateway.fluke.com>, - <97Jun18.165618pdt.35713-1@gateway.fluke.com> - Files: utils/perldoc.PL - - Title: "[PATCH] perldoc under OS/2" - From: Ilya Zakharevich <ilya@math.ohio-state.edu> - Msg-ID: <199707180340.XAA03114@monk.mps.ohio-state.edu> - Files: utils/perldoc.PL - - Title: "h2ph corrections to avoid redefined sub warnings" - From: wdconsta <wdconsta@cs.adelaide.edu.au> - Msg-ID: <Pine.SV4.3.93.970708143446.23808A-100000@florence.teaching.cs.adelaide.edu.au> - Files: utils/h2ph.PL - - +[Put changes here. Should we go back and put in changes for +_51 onwards?] ---------------- -Version 5.004_01 Maintenance release 1 for 5.004 +Version 5.004_50 First developer release towards 5.005 ---------------- -"Practice random kindness and senseless acts of beauty" - -- Anne Herbert - - HEADLINES FOR THIS MAINTENANCE RELEASE - - (..., undef, ...) = split(...) bug fixed. - Win32 support greatly improved, now very strong. - Memory leak using Tied hashes and arrays fixed. - Documentation updates. - Many other bug fixes and enhancements. - - CORE LANGUAGE - - Title: "[PATCH] first true value returned by scalar C<...> is wrong" - From: hansm@euronet.nl - Files: pp_ctl.c t/op/flip.t - - Title: "Regex Bug in 5.003_26 thru 003_99a" - From: Andreas Karrer <karrer@ife.ee.ethz.ch>, Chip Salzenberg - <chip@atlantic.net> - Msg-ID: <199705152303.BAA08890@kuru.ee.ethz.ch>, - <199705161915.PAA18721@rio.atlantic.net> - Files: regcomp.h regcomp.c regexec.c - - Title: "[PATCH] -w interacts badly with -Dt" - From: Spider Boardman <spider@Orb.Nashua.NH.US> - Files: sv.c - - Title: "No DESTROY on untie. Tie memory leak fixed." - From: Gurusamy Sarathy <gsar@engin.umich.edu>, Jay Rogers <jay@rgrs.com>, - pmarquess@bfsec.bt.co.uk (Paul Marquess) - Msg-ID: <199705170235.WAA00267@fluffy.rgrs.com>, - <199705172156.RAA20561@aatma.engin.umich.edu>, - <9705171506.AA04491@claudius.bfsec.bt.co.uk> - Files: pp_hot.c - - Title: "magic_clear_all_env proto should match svt_clear" - From: Nick Ing-Simmons <nik@tiuk.ti.com> - Files: proto.h mg.c - - Title: "[PATCH] ENV leaks on win32 (was Re: Comments on ENV patch sought)", - "[PATCH] for NETaa13787: %ENV=(); doesn't clear the environment" - From: hansm@euronet.nl, pvhp@forte.com (Peter Prymmer) - Msg-ID: <199705292240.AAA01135@mail.euronet.nl> - Files: embed.h perl.h proto.h global.sym mg.c t/op/magic.t - - Title: "Patch to show @INC when require dies" - From: avera@hal.com (Jim Avera) - Msg-ID: <9705230121.AA27872@membrane.hal.com> - Files: pp_ctl.c - - Title: "[PATCH] bug with m// nested inside s///e" - From: hansm@euro.net - Files: op.c t/op/subst.t - - DOCUMENTATION - - Title: "[PATCH] perlembed Win32 update" - From: Doug MacEachern <dougm@opengroup.org> - Files: pod/perlembed.pod - - Title: "perldiag.pod patch - "(W) substr outside string" is "(S)evere" if - used as lvalue." - From: John Hughes <john@AtlanTech.COM> - Files: pod/perldiag.pod - - Title: "local(%ENV) looses magic - document behaviour" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Files: pod/perlsub.pod - - Title: "[PATCH] perlguts caveats", "perlguts additions" - From: Gurusamy Sarathy <gsar@engin.umich.edu>, ilya@math.ohio-state.edu - (Ilya Zakharevich) - Msg-ID: <199705180052.UAA22066@aatma.engin.umich.edu>, - <199705180202.WAA22826@aatma.engin.umich.edu>, - <199705301341.JAA05204@aatma.engin.umich.edu>, - <1997May17.235722.2033087@hmivax.humgen.upenn.edu> - Files: pod/perlguts.pod - - Title: "pod2man produces broken pages", "weird condition in perldelta breaks - nroff" - From: Davin Milun <milun@cs.Buffalo.EDU>, Hans Mulder <hansm@icgned.nl> - Msg-ID: <199705310447.AAA15721@obelix.cs.Buffalo.EDU>, - <1997May25.192350.2055977@hmivax.humgen.upenn.edu> - Files: pod/pod2man.PL - - Title: "Perl 5 pod2man fix", "perlguts man page corrupted" - From: chen@adi.com (Franklin Chen), gnat@frii.com, lvirden@cas.org, tom - (Tom Dinger on Feste), tom@edc.com (Tom Dinger on Feste) - Msg-ID: <199705210013.UAA09599@menhaden.adi.com>, - <199706011305.JAA18271@cas.org>, - <199706012116.PAA14102@elara.frii.com>, - <9504250959.AA23419@feste.edc.com>, - <9504251700.AA23823@feste.edc.com> - Files: pod/pod2man.PL - - Title: "[PATCH] reference form chomp to chop in perlfunc" - From: hansm@euronet.nl - Files: pod/perlfunc.pod - - Title: "pod2man gags if "=pod" is before "=head1 NAME"" - From: whyde@pezz.sps.mot.com (Warren Hyde) - Msg-ID: <9705212115.AA21730@pezz.sps.mot.com> - Files: pod/pod2man.PL - - Title: "perlfunc.pod unclear about return value range of rand" - From: "Tuomas J. Lukka" <tjl@lukka.student.harvard.edu> - Msg-ID: <m0wSMiC-000C9xC@lukka.student.harvard.edu> - Files: pod/perlfunc.pod - - Title: "Error in perllol manpage", "Error in perllol manpage (fwd)" - From: Chris Wick <cwick@lmc.com> - Files: pod/perllol.pod - - Title: "5.004 removed deprecated %OVERLOAD support silently" - From: jon@sems.com (Jonathan Biggar) - Msg-ID: <199705232319.QAA28388@clamp.netlabs.com> - Files: pod/perldelta.pod - - Title: "[PATCH] Documentation bugs" - From: Stephen Potter <spp@psa.pencom.com> - Files: pod/perldata.pod pod/perldiag.pod pod/perlfaq8.pod pod/perlfaq9.pod - pod/perlop.pod pod/perlsub.pod pod/perltoot.pod - - Title: "5.004 POD stuff", "make html - any takers?", "make html --> unusable - xref links", "pod/*.html -- all hyperlinks are invalid" - From: "Darren/Torin/Who Ever..." <torin@daft.com>, "Paul D. Smith" - <psmith@BayNetworks.COM>, Gurusamy Sarathy - <gsar@engin.umich.edu>, Jarkko Hietaniemi <jhi@iki.fi>, - Michael R Cook <mcook@cognex.com>, avera@hal.com (Jim - Avera), lvirden@cas.org - Msg-ID: <199705162008.XAA06906@alpha.hut.fi>, - <199705171830.OAA15652@erawan.cognex.com>, - <199706081749.NAA04552@aatma.engin.umich.edu>, - <1997May16.191039.2033079@hmivax.humgen.upenn.edu>, - <87hgg2y1h4.fsf@perv.daft.com>, - <9705161931.AA01075@membrane.hal.com>, - <9705191839.AA28702@lemming.engeast> - Files: INSTALL pod/perldiag.pod installhtml - - Title: "checkpods- forget blank line status when starting a new file" - From: Larry Parmelee <parmelee@CS.Cornell.EDU> - Files: pod/checkpods.PL - - Title: "installhtml: Fix 'no title' & 'unexpected ...' warnings. Double speed." - From: Tim Bunce - Files: installhtml lib/Pod/Html.pm pod/splitpod - - LIBRARY AND EXTENSIONS - - Title: "sdbm can fail if a config.h exists in system directories" - From: Tim Bunce - Files: ext/SDBM_File/sdbm/Makefile.PL - - Title: "LWP and SIG __DIE__ traps not playing well together!" - From: Gisle Aas <aas@bergen.sn.no> - Files: lib/AutoLoader.pm - - Title: "Memory Consumption of autosplit_lib_modules/sv_gets (workaround)" - From: Matthias Neeracher <neeri@iis.ee.ethz.ch> - Files: lib/AutoSplit.pm - - Title: "Comments of this Sys::Syslog patch", "Unusual Sys::Syslog behaviour - with FQDN ? [Even in 5.004 - a bug?]" - From: Jarkko Hietaniemi <jhi@iki.fi>, Russ Allbery <rra@stanford.edu>, - alansz@mellers1.psych.berkeley.edu (Alan Schwartz) - Msg-ID: <199705231621.TAA16790@alpha.hut.fi>, <5m4fjr$rhs@agate.berkeley.edu> - Files: lib/Sys/Syslog.pm - - Title: "Patch to CPAN.pm (perl5.004) for ncftp" - From: "Richard L. Maus, Jr." <rmaus@monmouth.com> - Msg-ID: <337FBAC8.167EB0E7@monmouth.com> - Files: lib/CPAN.pm - - Title: "[PATCH] Harness.pm bug w/perl5.004 & VMS" - From: Dan Sugalski <sugalsd@lbcc.cc.or.us> - Msg-ID: <3.0.1.32.19970530102300.008a2730@stargate.lbcc.cc.or.us> - Files: lib/Test/Harness.pm - - Title: "more Fcntl constants [PATCH]" - From: Jarkko Hietaniemi <jhi@iki.fi> - Files: ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs - - Title: "5.004 breaks ftp.pl due to missing (although obsolete) chat2.pl" - From: Tim Bunce - Files: lib/chat2.pl - - BUILD PROCESS - - Title: "make test && ... doesn't work" - From: Tim Bunce - Files: Makefile.SH - - Title: "[PATCH] INSTALL-1.18" - From: Andy Dougherty <doughera@fractal.phys.lafayette.edu> - Msg-ID: <Pine.SOL.3.95q.970529142739.662D-100000@fractal.lafayette.edu> - Files: INSTALL - - Title: "improved gnuwin32 Configure support" - From: Chris Faylor <cgf@bbc.com> - Msg-ID: <199706070318.XAA09214@hardy.bbc.com> - Files: Configure - - Title: "installhtml problems finding splitpod" - From: lvirden@cas.org - Files: installhtml INSTALL - - Title: "perl 5.004 (and 01) man pages not generated and installed" - From: lvirden@cas.org (Larry W. Virden) - Files: installman - - Title: "oddity in Configure" - From: Mike Stok <mike@stok.co.uk> - Files: Configure - - Title: "perl5.004 on AIX: Patches", "perl5.004 on FreeBSD and AIX" - From: Peter van Heusden <pvh@junior.uwc.ac.za> - Msg-ID: <Pine.A32.3.93.970519142625.22442B-100000@junior.uwc.ac.za>, - <Pine.A32.3.93.970519163700.25188A-100000@junior.uwc.ac.za> - Files: Makefile.SH perl_exp.SH ext/DynaLoader/dl_aix.xs perlio.sym - - Title: "Compiling perl5.004 on NEWS-OS 4.x" - From: Makoto MATSUSHITA (=?ISO-2022-JP?B?GyRCJF4kRCQ3JD8kXiQzJEgbKEI=?=) - <matusita@ics.es.osaka-u.ac.jp> - Msg-ID: <19970521132814F.matusita@ics.es.osaka-u.ac.jp> - Files: Configure hints/newsos4.sh - - PORTABILITY - - Title: "win32: additional default libraries" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199705291332.JAA21560@aatma.engin.umich.edu> - Files: lib/ExtUtils/MM_Win32.pm - - Title: "[PATCH] win32 minor fixes" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Files: lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_Win32.pm win32/config.bc - - Title: "[PATCH] clean up perlocal.pod output on VMS" - From: pvhp@forte.com (Peter Prymmer) - Files: lib/ExtUtils/MM_VMS.pm - - Title: "[PATCH] Re: Term::ReadKey on Win32: set console" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Files: lib/Term/ReadLine.pm - - Title: "[PATCH] Pod::Text nit for Win32" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Files: lib/Pod/Text.pm - - Title: "pathname bug in xsubpp on win32" - From: jon@sems.com (Jonathan Biggar) - Msg-ID: <199705230126.SAA23401@clamp.netlabs.com> - Files: lib/ExtUtils/xsubpp - - Title: "MakeMaker stumbles on Win32 UNC paths" - From: Warren Jones <wjones@TC.FLUKE.COM> - Files: lib/ExtUtils/MM_Win32.pm - - Title: "build problem on SGI R10000 PowerChallenge (IRIX 6.2) lseek proto" - From: Jarkko Hietaniemi <jhi@iki.fi> - Files: doio.c - - Title: "Perl 5.004 + Linux 2.0.30 & semctl()" - From: Andy Dougherty <doughera@fractal.phys.lafayette.edu>, Jordan - Mendelson <jordy@snappy.wserv.com> - Files: doio.c - - Title: "lib/io_udp.t fails on VMS" - From: Jonathan.Hudson@jrhudson.demon.co.uk - Msg-ID: <XFMail.970522181042.Jonathan.Hudson@jrhudson.demon.co.uk> - Files: pp_sys.c - - Title: "Compilation of mg.c from perl5.004m1t2 fails on OpenVMS/AXP" - From: Henrik Tougaard <ht.000@foa.dk> - Files: mg.c t/op/taint.t - - Title: "[PATCH] (NEXT|OPEN)STEP hints" - From: Gerd Knops <gerti@BITart.com> - Files: hints/next_3.sh hints/next_4.sh - - Title: "win32: user defined shell" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199705291339.JAA21682@aatma.engin.umich.edu> - Files: pod/perlrun.pod win32/win32.c - - Title: "misc perl5.004 doc fixes, especially vms" - From: lvirden@cas.org (Larry W. Virden) - Msg-ID: <199705160419.AAA16317@cas.org> - Files: pod/perlfaq4.pod vms/perlvms.pod lib/Pod/Html.pm pod/roffitall - vms/ext/DCLsym/DCLsym.pm vms/ext/Stdio/Stdio.pm - - Title: "[PATCH] gen_shrfls.pl too picky for Dec C 5.6 preprocessor output" - From: Dan Sugalski <sugalsd@lbcc.cc.or.us> - Files: vms/gen_shrfls.pl - - Title: "[PATCH] win32: Configure cf_email" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199705301335.JAA05079@aatma.engin.umich.edu> - Files: win32/Makefile win32/config.bc win32/config.vc win32/config_sh.PL - win32/makefile.mk - - Title: "[PATCH] README.win32 nits" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Files: README.win32 - - Title: "Document cause and remedy for op/taint.t failure" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Files: README.win32 - - Title: "SVR4 hints for DDE SMES Supermax Enterprise Server" - From: Jarkko Hietaniemi <jhi@iki.fi> - Files: hints/svr4.sh - - Title: "porting.help" - From: Tim Bunce - Files: Porting/pumpkin.pod Porting/preprel - - Title: "Major 5.004 Win32 update (Borland win32 support, and other patches)", - "($a,undef,$b) = qw(a b c) and ties delaying DESTROY fixes" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Files: MANIFEST pod/perlguts.pod win32/include/sys/socket.h EXTERN.h - opcode.h perl.h regcomp.h ext/Fcntl/Fcntl.pm - ext/SDBM_File/Makefile.PL lib/ExtUtils/Install.pm - lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_Win32.pm - lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm - lib/File/DosGlob.pm t/op/mkdir.t t/op/stat.t win32/win32.h - win32/win32io.h win32/win32iop.h README.win32 doio.c gv.c - mg.c op.c perlio.c pp.c pp_ctl.c pp_hot.c pp_sys.c 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/makeperldef.pl win32/perlglob.c - win32/perllib.c win32/win32.c win32/win32io.c - win32/win32sck.c - - Title: "[PATCH] Re: Maintenance release (remove PERL_DUMMY_SIZE)" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Files: opcode.h perl.h regcomp.h win32/win32.h gv.c - - Title: "[PATCH] ENV leaks on win32 (was Re: Comments on ENV patch sought)" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Files: win32/win32.h win32/win32io.h win32/win32iop.h global.sym mg.c perl.c - t/op/magic.t util.c win32/makedef.pl win32/win32.c - win32/win32io.c - - Title: "[PATCH] win32: ExtUtils::Liblist support" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Files: lib/ExtUtils/Liblist.pm win32/Makefile win32/config.bc - win32/makefile.mk - - Title: "[PATCH] Re: borland C++Perl embedding failures re __declspec()" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Files: win32/win32.c - - Title: "No need to use `pwd` in t/op/magic.t test for amigaos" - From: Norbert Pueschel <pueschel@imsdd.meb.uni-bonn.de> - Files: t/op/magic.t - - TESTS - - Title: "Tests depend on locale" - From: "Jan D." <jan.djarv@mbox200.swipnet.se>, Jarkko Hietaniemi - <jhi@iki.fi> - Msg-ID: <199705191127.NAA08148@ostrich.gaia.swipnet.se>, - <199705191230.PAA21070@alpha.hut.fi> - Files: t/lib/safe2.t t/op/mkdir.t - - Title: "op/groups test fails on Linux (groups in /bin)" - From: "Jan D." <jan.djarv@mbox200.swipnet.se> - Msg-ID: <199705191120.NAA08130@ostrich.gaia.swipnet.se> - Files: t/op/groups.t - - Title: "More simple regexp tests and test docs" - From: Hans Mulder <hansm@euronet.nl> - Files: t/op/re_tests t/op/regexp.t - - Title: "[PATCH] Re: Using undef to ignore values returned from split" - From: Hugo van der Sanden <hv@crypt.compulink.co.uk> - Files: t/op/split.t - - UTILITIES - - Title: "bad test of -A flag in h2xs" - From: "Jeffrey S. Haemer" <jsh@woodcock.boulder.qms.com> - Files: utils/h2xs.PL - - Title: "[PATCH] h2xs missing from utils/Makefile" - From: hansm@euronet.nl - Files: utils/Makefile - - Title: "PATCH: bug in perlbug w.r.t. environment variables", "bug in perlbug - w.r.t. environment variables" - From: "Jan D." <jan.djarv@mbox200.swipnet.se>, Jarkko Hietaniemi - <jhi@iki.fi> - Msg-ID: <199705191841.UAA00969@ostrich.gaia.swipnet.se>, - <199705191857.VAA09154@alpha.hut.fi> - Files: utils/perlbug.PL - - Title: "[PATCH] final newline missing in MANIFEST generated by h2xs" - From: hansm@euronet.nl - Files: utils/h2xs.PL - - -------------- -Version 5.004 -------------- - -"Hey, Rocky! Watch me pull a release out of my hat!" -"Aww, that trick never works..." - - CORE LANGUAGE CHANGES - - Title: "Make C<m//g> reset pos on failure; make C<m//gc> not reset" - From: Chip Salzenberg - Files: dump.c op.c op.h pod/perldelta.pod pod/perlfaq6.pod - pod/perlop.pod pod/perlre.pod pp_ctl.c pp_hot.c regcomp.c - t/op/pat.t toke.c - - Title: "SECURITY: Forbid exec() if $ENV{BASH_ENV} is tainted" - From: Chip Salzenberg - Files: pod/perldelta.pod pod/perlrun.pod pod/perlsec.pod t/op/taint.t - taint.c - - Title: "Allow exec() if $ENV{TERM} is tainted but innocuous" - From: Chip Salzenberg - Files: pod/perldelta.pod pod/perlrun.pod pod/perlsec.pod t/op/taint.t - taint.c - - Title: "Allow globbing when tainted under VMS (no external program)" - From: Chip Salzenberg - Files: pp_sys.c t/op/taint.t - - CORE PORTABILITY - - Title: "Make Irix hints adapt when n32 libm.so is missing" - From: Chip Salzenberg - Files: hints/irix_6.sh - - Title: "Fix default HP-UX installation path" - From: Jeff Okamoto - Msg-ID: <199705132228.AA227042483@hpcc123.corp.hp.com> - Date: Tue, 13 May 1997 15:28:04 -0700 - Files: hints/hpux.sh - - Title: "VMS update, including socket support (four patches)" - From: Jonathan Hudson <Jonathan.Hudson@jrhudson.demon.co.uk>, - Peter Prymmer <pvhp@forte.com>, - Dan Sugalski <sugalsd@lbcc.cc.or.us> - Files: vms/config.vms vms/descrip.mms vms/sockadapt.h vms/vms.c - vms/vmsish.h - - Title: "Win32 update (three patches)" - From: Gurusamy Sarathy - Files: README.win32 perl.c win32/Makefile win32/config.H - win32/config_h.PL win32/config_sh.PL win32/makedef.pl - win32/win32.c win32/win32.h win32/win32io.c win32/win32io.h - win32/win32iop.h - - Title: "Don't require executable bit on perl -S if DOSISH" - From: Danny Sadinoff <sadinoff@olf.com> - Msg-ID: <337351CE.79B28DE3@olf.com> - Date: Fri, 09 May 1997 12:33:18 -0400 - Files: perl.c - - OTHER CORE CHANGES - - Title: "In C<eval &func>, always call &func in scalar context" - From: Chip Salzenberg - Files: op.c - - Title: "Fix recursive substitution" - From: Chip Salzenberg; test from Tim Bunce - Files: cop.h global.sym pp_ctl.c proto.h scope.c t/op/subst.t - - Title: "Make read with <> from a TTY notice EOF" - From: Jonathan I. Kamens <jik@kamens.brookline.ma.us> - Msg-ID: <199705121147.HAA03845@jik.saturn.net> - Date: Mon, 12 May 1997 07:47:13 -0400 - Files: sv.c - - Title: "Fix core dump from get*() functions returning no alias array" - From: Chip Salzenberg - Files: pp_sys.c - - Title: "Fix typo" - From: Mark K Trettin <mkt@lucent.com> - Msg-ID: <199705102228.RAA11163@gv18c.ih.lucent.com> - Date: Sat, 10 May 1997 17:28:35 -0500 - Files: pp_sys.c - - BUILD PROCESS - - Title: "Don't use 'unset' in Configure" - From: Chip Salzenberg - Files: Configure - - Title: "Protect against having no such command as 'cc'" - From: Hans Mulder <hansm@icgned.nl> - Msg-ID: <1997May12.163534.2006434@hmivax.humgen.upenn.edu> - Date: Mon, 12 May 1997 16:35:34 -0400 (EDT) - Files: Configure - - Title: "minor wording enhancement for Configure" - From: Jarkko Hietaniemi - Msg-ID: <199705101038.NAA00471@alpha.hut.fi> - Date: Sat, 10 May 1997 13:38:31 +0300 (EET DST) - Files: Configure - - LIBRARY AND EXTENSIONS - - Title: "Refresh CGI.pm to 2.36" - From: Lincoln Stein <lstein@genome.wi.mit.edu> - Files: eg/cgi/frameset.cgi eg/cgi/javascript.cgi lib/CGI.pm - - Title: "In IO::File::open, prepend './' less often (for Win32 et al)" - From: Chip Salzenberg - Files: ext/IO/lib/IO/File.pm - - Title: "Fix core dump on IO::Seekable::setpos($fh, undef)" - From: Chip Salzenberg - Files: ext/IO/IO.xs t/lib/io_xs.t - - TESTS - - Title: "Make rand.t vanishingly unlikely to give false failure" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.96.970510190846.23340K-100000@kelly.teleport.com> - Date: Sat, 10 May 1997 19:57:30 -0700 (PDT) - Files: t/op/rand.t - - Title: "Fix sleep test: sleep(N) is defined to allow sleeping N-1" - From: Chuck D. Phillips <cdp@hpescdp.fc.hp.com> - Msg-ID: <199705151735.KAA01143@palrel1.hp.com> - Date: Thu, 15 May 1997 11:35:41 -0600 - Files: t/op/sleep.t - - UTILITIES - - Title: "h2xs and @EXPORT_OK" - From: Jeff Okamoto - Msg-ID: <199705092348.AA057881699@hpcc123.corp.hp.com> - Date: Fri, 9 May 1997 16:48:20 -0700 - Files: utils/h2xs.PL - - DOCUMENTATION - - Title: "Tweaks for perldelta" - From: hansm@euronet.nl - Msg-ID: <199705102346.BAA17300@mail.euronet.nl> - Date: Sun, 11 May 97 01:46:00 +0200 - Files: pod/perldelta.pod - - Title: "Mention perlfaq.pod and perlmodlib.pod in perldelta.pod" - From: Chip Salzenberg - Files: pod/perldelta.pod - - Title: "Fix example of use of lexicals with formats" - From: Chip Salzenberg - Files: pod/perldelta.pod - - Title: "Explain that destruction order is not defined" - From: Gurusamy Sarathy <gsar@engin.umich.edu> - Msg-ID: <199705150600.CAA13550@aatma.engin.umich.edu> - Date: Thu, 15 May 1997 02:00:23 -0400 - Files: pod/perltoot.pod - - Title: "Note that DATA filehandle is unavailable during BEGIN {}" - From: neilb@cre.canon.co.uk (Neil Bowers) - Msg-ID: <199705121227.NAA29718@tardis.cre.canon.co.uk> - Date: Mon, 12 May 1997 13:27:43 +0100 - Files: pod/perldata.pod - - Title: "More detailed IO::Socket documentation" - From: Tom Christiansen - Msg-ID: <199705141456.IAA19061@jhereg.perl.com> - Date: Wed, 14 May 1997 08:56:30 -0600 - Files: pod/perlipc.pod - - ------------------ -Version 5.003_99a ------------------ - -Herein we find the fruits of the gamma. - - CORE LANGUAGE CHANGES - - Title: "SECURITY: Forbid glob() when tainting (-T or setuid)" - From: Chip Salzenberg - Files: pod/perlrun.pod pod/perlsec.pod pp_sys.c - - Title: "SECURITY: Forbid exec() if $ENV{TERM} or $ENV{ENV} is tainted" - From: Chip Salzenberg - Files: pod/perlrun.pod pod/perlsec.pod t/op/taint.t taint.c - - CORE PORTABILITY - - Title: "(NeXT|Open)Step update" - From: Gerd Knops <gerti@BITart.com> - Msg-ID: <9705072247.AA18882@BITart.com> - Date: Wed, 7 May 97 17:47:02 -0500 - Files: Configure MANIFEST config_h.SH hints/next_3.sh hints/next_4.sh - - Title: "NetBSD hint update" - From: Giles Lean <giles@nemeton.com.au> - Msg-ID: <199705051346.XAA13584@topaz.nemeton.com.au> - Date: Mon, 5 May 1997 23:46:37 +1000 (EST) - Files: hints/netbsd.sh - - Title: "Irix hint update" - From: Scott Henry <scotth@sgi.com> - Msg-ID: <yd83es0fp57.fsf@hoshi.engr.sgi.com> - Date: 06 May 1997 11:09:56 -0700 - Files: hints/irix_6.sh - - Title: "HPUX: patch for ext/DynaLoader/dl_hpux.xs" - From: Chuck D. Phillips <cdp@hpescdp.fc.hp.com> - Msg-ID: <199705050548.WAA21260@palrel1.hp.com> - Date: Sun, 4 May 1997 23:48:39 -0600 - Files: ext/DynaLoader/dl_hpux.xs - - Title: "Win32 update (consolidated patch plus three followups)" - From: Gurusamy Sarathy - Files: EXTERN.h README.win32 lib/Sys/Hostname.pm pod/perldelta.pod - win32/config.H win32/config.w32 win32/config_sh.PL win32/perllib.c - win32/win32.c win32/win32.h win32/include/sys/socket.h - - Title: "Win32 boot_DynaLoader problem in 99" - From: Gary Clark <GaryC@mail.jeld-wen.com> - Msg-ID: <1997May05.105000.1708.84476@mail.jeld-wen.com> - Date: Mon, 05 May 1997 10:49:03 -0700 - Files: win32/makedef.pl - - OTHER CORE CHANGES - - Title: "Fix wantarray() in sort subs [fixes metaconfig]" - From: Chip Salzenberg - Files: pp_ctl.c - - Title: "Fix for redefined sort subs nastiness" - From: Gurusamy Sarathy - Msg-ID: <199705090004.UAA15032@aatma.engin.umich.edu> - Date: Thu, 08 May 1997 20:04:18 -0400 - Files: op.c pod/perldelta.pod pod/perldiag.pod sv.c t/op/sort.t - - BUILD PROCESS - - Title: "AFS patches" - From: Chip Salzenberg, Larry Schwimmer <rosebud@cyclone.Stanford.EDU> - Files: Configure installperl - - LIBRARY AND EXTENSIONS - - Title: "Another blank line patch to Pod::Text" - From: Russ Allbery <rra@stanford.edu> - Msg-ID: <m3afm5g6ar.fsf@windlord.Stanford.EDU> - Date: 08 May 1997 11:36:12 -0700 - Files: lib/Pod/Text.pm - - TESTS - - (no other changes) - - UTILITIES - - Title: "Three bugs in pod2html" - From: hansm@euronet.nl - Msg-ID: <199705052228.AAA25351@mail.euronet.nl> - Date: Tue, 6 May 97 00:28:06 +0200 - Files: lib/Pod/Html.pm - - Title: "Trivial bugfix for pod of xsubpp" - From: Ralf S. Engelschall <rse@engelschall.com> - Msg-ID: <199705051447.QAA09995@en1.engelschall.com> - Date: Mon, 5 May 1997 16:47:03 +0200 - Files: lib/ExtUtils/xsubpp - - Title: "Newer CPerl mode" - From: Ilya Zakharevich - Msg-ID: <199705080032.UAA22532@monk.mps.ohio-state.edu> - Date: Wed, 7 May 1997 20:32:46 -0400 (EDT) - Files: emacs/cperl-mode.el - - DOCUMENTATION - - Title: "Updates to perldelta" - From: Chip Salzenberg and Dominic Dunlop - Files: pod/perldelta.pod - - Title: "More explicit Solaris instructions" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970508171206.438A-100000@fractal.lafayette.ed - Date: Thu, 08 May 1997 17:14:54 -0400 (EDT) - Files: INSTALL hints/solaris_2.sh - - Title: "Document 'Possible attempt to separate words with commas'" - From: Gisle Aas - Msg-ID: <hyb9snvdw.fsf@bergen.sn.no> - Date: 06 May 1997 23:27:55 +0200 - Files: pod/perlop.pod - - Title: "perlfaq9, hostname" - From: John D Groenveld <groenvel@cse.psu.edu> - Msg-ID: <199705061741.NAA22777@cse.psu.edu> - Date: Tue, 06 May 1997 13:41:12 EDT - Files: pod/perlfaq9.pod - - Title: "Debugger docs patch" - From: Ilya Zakharevich - Msg-ID: <199705080107.VAA24317@monk.mps.ohio-state.edu> - Date: Wed, 7 May 1997 21:07:14 -0400 (EDT) - Files: pod/perldebug.pod - - Title: "Document that C<m?x?> is just like C<?x?>" - From: Chip Salzenberg - Files: pod/perlop.pod - - Title: "Refresh description of sprintf()" - From: Chip Salzenberg - Files: pod/perl.pod pod/perlfunc.pod - - Title: "Mention the Regular Expressions book" - From: Stephen Potter <spp@psa.pencom.com> - Msg-ID: <199705071737.MAA18799@psa.pencom.com> - Date: Wed, 07 May 1997 12:37:37 -0500 - Files: pod/perlbook.pod pod/perlre.pod - - Title: "OS/2 doc patch for _99" - From: Ilya Zakharevich - Msg-ID: <199705080046.UAA23466@monk.mps.ohio-state.edu> - Date: Wed, 7 May 1997 20:46:45 -0400 (EDT) - Files: README.os2 - - ----------------- -Version 5.003_99 ----------------- - -"Oops." Now this _has_ to be the gamma; we're out of numbers. - - CORE LANGUAGE CHANGES - - (no changes) - - CORE PORTABILITY - - Title: "NeXT hints update" - From: hansm@euronet.nl - Msg-ID: <199704302229.AAA02690@mail.euronet.nl> - Date: Thu, 1 May 97 00:28:41 +0200 - Files: Configure Makefile.SH hints/next_4.sh - - Title: "Support shared libperl on AIX" - From: Eric Bartley <bartley@icd.cc.purdue.edu> - Msg-ID: <199704270131.UAA51426@icd.cc.purdue.edu> - Date: Sat, 26 Apr 1997 20:31:37 -0500 - Files: Configure Makefile.SH hints/aix.sh - - OTHER CORE CHANGES - - Title: "Fix NUL-termination bug in delimcpy()" - From: Chip Salzenberg - Files: util.c - - Title: "Forget prototype of subroutine after C<undef &subr>" - From: Chip Salzenberg - Files: op.c - - Title: "Handle tainted values in lists returned from subs, evals" - From: Chip Salzenberg - Files: pp_ctl.c pp_hot.c t/op/taint.t - - Title: "Fix sysread() on tied handle" - From: Spider Boardman - Msg-ID: <199705010601.CAA04926@Orb.Nashua.NH.US> - Date: Thu, 1 May 1997 02:01:20 -0400 - Files: pp_sys.c - - Title: "Fix OS/2-specific buffer overflow" - From: Ilya Zakharevich - Msg-ID: <199704301920.PAA09681@monk.mps.ohio-state.edu> - Date: Wed, 30 Apr 1997 15:20:01 -0400 (EDT) - Files: os2/os2.c - - BUILD PROCESS - - Title: "Add new globals to perl.exp" - From: Chip Salzenberg - Files: perl_exp.SH - - LIBRARY AND EXTENSIONS - - Title: "Refresh DB_File to 1.14" - From: Paul Marquess - Msg-ID: <9704302045.AA05484@claudius.bfsec.bt.co.uk> - Date: Wed, 30 Apr 1997 21:45:09 +0100 (BST) - Files: 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 - - TESTS - - Title: "Disable op/pipe.t test under Machten" - From: Dominic Dunlop <domo@slipper.ip.lu> - Msg-ID: <v03102801af8e160d3879@[194.51.248.68]> - Date: Thu, 1 May 1997 12:48:26 +0200 - Files: t/io/pipe.t - - UTILITIES - - Title: "typo fixes to installhtml" - From: lvirden@cas.org (Larry W. Virden) - Msg-ID: <199705011114.HAA26968@cas.org> - Date: Thu, 1 May 1997 07:14:31 -0400 - Files: installhtml - - DOCUMENTATION - - Title: "Fix description of av_undef() in perlguts" - From: Gisle Aas - Msg-ID: <199705011042.MAA09897@bergen.sn.no> - Date: Thu, 1 May 1997 12:42:46 +0200 - Files: pod/perlguts.pod - - Title: "Fix typo in perldelta" - From: Chip Salzenberg - Files: pod/perldelta.pod - - ----------------- -Version 5.003_98 ----------------- - -Here it is, the second public beta (a.k.a gamma). - - CORE LANGUAGE CHANGES - - Title: "Support C< $coderef->($x,$y) >" - From: Chip Salzenberg - Files: perly.c perly.c.diff perly.y pod/perldelta.pod pod/perldsc.pod - pod/perlref.pod t/op/ref.t vms/perly_c.vms - - CORE PORTABILITY - - (no changes) - - OTHER CORE CHANGES - - Title: "Fix C< hex('80') * 0x1000000 >" - From: Chip Salzenberg - Files: opcode.pl - - Title: "Reset errno after failed piped close" - From: Roderick Schertler - Msg-ID: <28152.862264940@eeyore.ibcinc.com> - Date: Mon, 28 Apr 1997 18:02:20 -0400 - Files: lib/Time/gmtime.pm lib/Time/localtime.pm pod/perlfunc.pod - t/io/pipe.t util.c - - Title: "Fix warning wrt return value of PerlIO_getname()" - From: Spider Boardman - Msg-ID: <199704300448.AAA24174@Orb.Nashua.NH.US> - Date: Wed, 30 Apr 1997 00:48:13 -0400 - Files: perlio.c - - BUILD PROCESS - - (no changes) - - LIBRARY AND EXTENSIONS - - (no changes) - - TESTS - - (no other changes) - - UTILITIES - - (no changes) - - DOCUMENTATION - - Title: "Describe Math::Trig in perlmodlib" - From: Chip Salzenberg - Files: pod/perlmodlib.pod - - Title: "Add new diagnostics to perldelta" - From: Chip Salzenberg - Files: pod/perldelta.pod pod/perldiag.pod - - ------------------ -Version 5.003_97j ------------------ - -This patch should be _98, unless it's egregiously broken somehow. - - CORE LANGUAGE CHANGES - - (no changes) - - CORE PORTABILITY - - Title: "Return to favoring memset(,0,) over bzero()" - From: Chip Salzenberg - Files: perl.h - - Title: "NetBSD hint update" - From: matthew green <mrg@splode.eterna.com.au> - Msg-ID: <199704251021.EAA22570@jhereg.perl.com> - Date: Fri, 25 Apr 1997 20:18:02 +1000 - Files: hints/netbsd.sh - - Title: "HP-UX hint update" - From: Chuck D. Phillips <cdp@hpescdp.fc.hp.com> - Msg-ID: <199704280535.WAA22441@palrel1.hp.com> - Date: Sun, 27 Apr 1997 23:35:07 -0600 - Files: hints/hpux.sh - - Title: "Win32 update (three patches)" - From: Gurusamy Sarathy and Nick Ing-Simmons - Files: win32/makedef.pl win32/perllib.c win32/win32.c - - OTHER CORE CHANGES - - Title: "Update sprintf: '%hn'; '%s',NULL; panic on frexp() failure" - From: Chip Salzenberg - Files: perl.h pod/perldiag.pod sv.c - - Title: "Fix lingering '%S' in XS_VERSION_BOOTCHECK" - From: Chip Salzenberg - Files: XSUB.h - - Title: "Eliminate Alpha warnings" - From: Hallvard B Furuseth and Chip Salzenberg - Files: perlsdio.h pp_sys.c - - Title: "Fix typo in NeXT dynaloader" - From: Chip Salzenberg - Files: ext/DynaLoader/dl_next.xs - - Title: "Fix possible buffer overflow under VMS" - From: Chip Salzenberg - Files: taint.c - - BUILD PROCESS - - (no changes) - - LIBRARY AND EXTENSIONS - - Title: "Refresh CGI.pm to 2.35" - From: Lincoln Stein <lstein@genome.wi.mit.edu> - Files: lib/CGI.pm - - Title: "Refresh DB_File to 1.13" - From: Paul Marquess - Msg-ID: <9704271413.AA08876@claudius.bfsec.bt.co.uk> - Date: Sun, 27 Apr 1997 15:12:59 +0100 (BST) - Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs - - Title: "SelfLoader: fix prototype pattern, rename intrusive lexical" - From: Jesse Glick <jesse@ginger> and Chip Salzenberg - Files: lib/SelfLoader.pm - - TESTS - - (no changes) - - UTILITIES - - (no changes) - - DOCUMENTATION - - Title: "Split perlmod" - From: Tom Christiansen - Msg-ID: <199704260050.RAA02468@toy.perl.com> - Date: Fri, 25 Apr 1997 20:50:09 -0400 - Files: MANIFEST pod/Makefile pod/buildtoc pod/perl.pod - pod/perldsc.pod pod/perlfaq3.pod pod/perlipc.pod - pod/perlmod.pod pod/perlmodlib.pod pod/perlobj.pod - pod/perltie.pod pod/roffitall - - Title: "Describe __PACKAGE__ in perldelta" - From: Chip Salzenberg - Files: pod/perldelta.pod - - Title: "Doc fix for close of pipe handle" - From: Chip Salzenberg - Files: pod/perlfunc.pod - - ------------------ -Version 5.003_97i ------------------ - -This patch eliminates all known sources of buffer overflow! (And the -crowd goes wild. (Yeah.)) Showstoppers only between here and _98. - - CORE LANGUAGE CHANGES - - (no changes) - - CORE PORTABILITY - - Title: "Provide memset() if it's missing" - From: Chip Salzenberg - Files: global.sym perl.h proto.h util.c - - Title: "Don't tell GCC that warn(), croak(), and die() are printf-lik - From: Chip Salzenberg - Files: proto.h - - OTHER CORE CHANGES - - Title: "Misc. sv_vcatpvfn() fixes" - From: Hugo, Dale, Nick, Hallvard, Chip - Files: gv.c mg.c op.c perl.c pp.c pp_ctl.c sv.c toke.c util.c - - Title: "Enforce order of sprintf() elements" - From: Chip Salzenberg - Files: sv.c - - Title: "Guard against long numbers, <<LONG_DELIM, and <long glob>" - From: Chip Salzenberg - Files: global.sym mg.c perl.c pod/perldiag.pod proto.h toke.c util.c - - Title: "Guard against C<goto> to deeply nested label" - From: Chip Salzenberg - Files: pod/perldiag.pod pp_ctl.c - - Title: "Guard against overflow in dup2() emulation" - From: Chip Salzenberg - Files: util.c - - Title: "Win32: Guard against long function names" - From: Chip Salzenberg - Files: win32/win32sck.c - - Title: "Make mess() always work, by using a non-arena SV" - From: Chip Salzenberg, from idea by Gurusamy Sarathy - Files: perl.c util.c - - Title: "Fix scalar leak in pp_prtf()" - From: Doug MacEachern - Msg-ID: <199704241706.NAA19140@postman.osf.org> - Date: Thu, 24 Apr 1997 13:06:21 -0400 - Files: pp_sys.c - - Title: "When copying a format line, take only its string value" - From: Chip Salzenberg - Files: sv.c - - Title: "Undo private patch" - From: Chip Salzenberg - Files: installperl lib/ExtUtils/Install.pm - - Title: "Fix LEAKTEST numbers" - From: Chip Salzenberg - Files: ext/DynaLoader/dl_vms.xs handy.h os2/os2.c util.c vms/vms.c - win32/win32.c win32/win32sck.c - - BUILD PROCESS - - Title: "Cope with a <db.h> that isn't related to DB" - From: Jarkko Hietaniemi - Msg-ID: <199704241728.UAA09951@alpha.hut.fi> - Date: Thu, 24 Apr 1997 20:28:39 +0300 (EET DST) - Files: Configure - - LIBRARY AND EXTENSIONS - - Title: "Always NUL-terminate opsets" - From: Chip Salzenberg - Files: ext/Opcode/Opcode.xs - - Title: "Don't core dump if my_inet_aton() get a NULL" - From: Chip Salzenberg - Files: ext/Socket/Socket.xs - - Title: "Handle symlinks, high permission bits in File::Path" - From: Chip Salzenberg - Files: lib/File/Path.pm - - Title: "Math::{Complex,Trig} update" - From: Jarkko Hietaniemi - Msg-ID: <199704242221.BAA30363@alpha.hut.fi> - Date: Fri, 25 Apr 1997 01:21:44 +0300 (EET DST) - Files: lib/Math/Complex.pm lib/Math/Trig.pm pod/roffitall - t/lib/complex.t t/lib/trig.t - - TESTS - - (no other changes) - - UTILITIES - - Title: "Fix buffer overflow in a2p" - From: Chip Salzenberg - Files: x2p/a2py.c - - DOCUMENTATION - - Title: "FAQ udpate (24-apr-97)" - From: Nathan Torkington <gnat@prometheus.frii.com> - Msg-ID: <199704242247.QAA07010@prometheus.frii.com> - Date: Thu, 24 Apr 1997 16:47:23 -0600 (MDT) - Files: pod/perlfaq*.pod - - Title: "Document new {,s}printf() behavior" - From: Chip Salzenberg - Files: pod/perldelta.pod pod/perlfunc.pod - - ------------------ -Version 5.003_97h ------------------ - -This patch eliminates almost all possible sources of buffer overflow; -in particular, there are no more sprintf() bugs. (!!) This patch -also has a few other fixes. With these changes in place, I can sleep -at night. (Because I've stopped hacking. :-)) - - CORE LANGUAGE CHANGES - - Title: "Support PRINTF for tied handles" - From: Doug MacEachern - Msg-ID: <199704202226.SAA08032@postman.osf.org> - Date: Sun, 20 Apr 1997 18:26:13 -0400 - Files: pod/perldelta.pod pod/perltie.pod pp_sys.c t/op/misc.t - - CORE PORTABILITY - - Title: "Fix bitwise shifts and pack('w') on Crays" - From: Chip Salzenberg - Files: pp.c - - Title: "Win32 update (two patches)" - From: Gurusamy Sarathy - Files: lib/AutoSplit.pm lib/ExtUtils/MM_Unix.pm win32/config.w32 - win32/makedef.pl - - OTHER CORE CHANGES - - Title: "Mondo Cool patch for buffer safety and convenience" - From: Chip Salzenberg - Files: XSUB.h doop.c dump.c ext/DynaLoader/dl_dlopen.xs - ext/DynaLoader/dl_hpux.xs ext/DynaLoader/dl_next.xs - ext/DynaLoader/dlutils.c ext/ODBM_File/ODBM_File.xs - global.sym gv.c interp.sym mg.c op.c perl.c perl.h - pod/perlguts.pod pp.c pp_ctl.c pp_hot.c pp_sys.c proto.h - regcomp.c regexec.c sv.c toke.c util.c - - Title: "Problems with glob" - From: Ilya Zakharevich - Msg-ID: <1997Apr20.024432.1941365@hmivax.humgen.upenn.edu> - Date: Sun, 20 Apr 1997 02:44:32 -0400 (EDT) - Files: op.c - - Title: "Fix scalar leak in closures" - From: Chip Salzenberg - Files: op.c scope.c - - Title: "Refine error messages re: anon subs' prototypes" - From: Chip Salzenberg - Files: op.c - - Title: "Outermost scope is void, not scalar" - From: Chip Salzenberg - Files: pp_ctl.c - - BUILD PROCESS - - Title: "Fix up Linux hints for tcsh, and Configure patch" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970422101051.2506C-100000@fractal.lafayette.e - Date: Tue, 22 Apr 1997 11:02:27 -0400 (EDT) - Files: Configure hints/linux.sh - - Title: "There is no standard answer to 'Use suidperl?'" - From: Chip Salzenberg - Files: hints/bsdos.sh hints/freebsd.sh hints/linux.sh - hints/machten_2.sh - - LIBRARY AND EXTENSIONS - - Title: "Math::Complex update" - From: Jarkko Hietaniemi - Files: lib/Math/Complex.pm t/lib/complex.t - - Title: "Croak on C<use autouse> without module name" - From: Chip Salzenberg - Files: lib/autouse.pm - - Title: "Silence warnings on simple C<use ops>" - From: Roderick Schertler - Msg-ID: <pzybafum6k.fsf@eeyore.ibcinc.com> - Date: 19 Apr 1997 10:22:43 -0400 - Files: ext/Opcode/ops.pm - - TESTS - - Title: "Don't put leading newline on numeric strings" - From: Andreas Koenig - Msg-ID: <199704230847.KAA22752@anna.in-berlin.de> - Date: Wed, 23 Apr 1997 10:47:00 +0200 - Files: t/pragma/constant.t - - UTILITIES - - (no changes) - - DOCUMENTATION - - Title: "FAQ udpate (23-apr-97)" - From: Nathan Torkington <gnat@prometheus.frii.com> - Msg-ID: <199704231822.MAA05074@prometheus.frii.com> - Date: Wed, 23 Apr 1997 12:22:55 -0600 (MDT) - Files: pod/perlfaq*.pod - - Title: "Two doublewords less" - From: Jarkko Hietaniemi - Msg-ID: <199704201938.WAA07722@alpha.hut.fi> - Date: Sun, 20 Apr 1997 22:38:13 +0300 (EET DST) - Files: pod/perlrun.pod vms/perlvms.pod - - ------------------ -Version 5.003_97g ------------------ - -This one has two security bug fixes for buffer overflows. Perl has -not yet been searched to see if more fixes are needed. - - CORE LANGUAGE CHANGES - - Title: "Improve sysseek(), remove systell(), fix Opcode" - From: Chip Salzenberg - Files: doio.c ext/Opcode/Makefile.PL ext/Opcode/Opcode.pm - ext/Opcode/Opcode.xs global.sym keywords.pl opcode.pl - pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod pp_sys.c - proto.h t/op/sysio.t toke.c - - Title: "Fix (and test) spaces in {,un}pack()" - From: Chip Salzenberg - Files: pp.c t/op/pack.t - - CORE PORTABILITY - - Title: "Irix update" - From: Scott Henry <scotth@sgi.com> - Msg-ID: <yd8d8rsi0ln.fsf@hoshi.engr.sgi.com> - Date: 18 Apr 1997 12:37:24 -0700 - Files: MANIFEST hints/irix_6.sh hints/irix_6_0.sh hints/irix_6_1.sh - - Title: "ExtUtils/Miniperl.pm not built on Win32" - From: Nick Ing-Simmons - Msg-ID: <199704181742.SAA08407@ni-s.u-net.com> - Date: Fri, 18 Apr 1997 18:42:32 +0100 - Files: win32/Makefile - - OTHER CORE CHANGES - - Title: "SECURITY FIX: 'Identifier too long'" - From: Chip Salzenberg - Files: pod/perldelta.pod pod/perldiag.pod toke.c - - Title: "SECURITY FIX: Buffer overflow in gv_fetchfile()" - From: Chip Salzenberg - Files: gv.c - - Title: "Remove pp_method() inefficiency from last patch" - From: Chip Salzenberg - Files: pp_hot.c - - BUILD PROCESS - - Title: "Fix unnecessary re-linking" - From: Chip Salzenberg - Files: lib/ExtUtils/MM_Unix.pm - - Title: "Fix tcsh hack in Configure" - From: Chip Salzenberg - Files: Configure - - Title: "Minor, optional patch to Makefile.SH" - From: "Randy J. Ray" <rjray@uswest.com> - Msg-ID: <rjray-9703180132.AA00374040@snakepit.ecte.uswc.uswest.com> - Date: Thu, 17 Apr 1997 19:32:17 -0600 - Files: Makefile.SH - - LIBRARY AND EXTENSIONS - - Title: "Patch to Getopt::Long" - From: Johan Vromans <jvromans@squirrel.nl> - Msg-ID: <m0wIKCO-00081IC@phoenix.squirrel.nl> - Date: Fri, 18 Apr 97 22:24 MET DST - Files: lib/Getopt/Long.pm - - Title: "Fix NAME in SDBM_File build" - From: Chip Salzenberg - Files: ext/SDBM_File/sdbm/Makefile.PL - - TESTS - - (no other changes) - - UTILITIES - - Title: "Make h2ph generate constant subs" - From: Roderick Schertler - Msg-ID: <pz2088w5ot.fsf@eeyore.ibcinc.com> - Date: 18 Apr 1997 14:23:46 -0400 - Files: utils/h2ph.PL - - DOCUMENTATION - - Title: "Document {,un}pack changes" - From: Paul Marquess - Msg-ID: <9704181249.AA11733@claudius.bfsec.bt.co.uk> - Date: Fri, 18 Apr 97 13:49:39 BST - Files: pod/perldelta.pod pod/perldiag.pod - - ------------------ -Version 5.003_97f ------------------ - -This is it before _98. No more last-minute features. Really, I mean -it this time. No kidding. - - CORE LANGUAGE CHANGES - - Title: "New operator systell()" - From: Chip Salzenberg - Files: doio.c ext/Opcode/Opcode.pm keywords.pl opcode.pl - pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod pp_sys.c - t/op/sysio.t toke.c - - Title: "Allow constant sub to be optimized when called with parens" - From: Chip Salzenberg - Files: toke.c - - Title: "Make {,un}pack fail on invalid pack types" - From: Chip Salzenberg - Files: pod/perldiag.pod pp.c - - CORE PORTABILITY - - Title: "Fix bitwise ops and {,un}pack() on Cray CPUs" - From: Chip Salzenberg - Files: pp.c - - Title: "VMS update" - From: Charles Bailey - Files: lib/Cwd.pm lib/File/Path.pm lib/FindBin.pm vms/perly_c.vms - vms/vms.c vms/writemain.pl - - Title: "Win32 update (three patches)" - From: Gurusamy Sarathy and Nick Ing-Simmons - Files: lib/Cwd.pm lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_Win32.pm - lib/File/Basename.pm win32/Makefile win32/makedef.pl - win32/perllib.c win32/win32.c win32/win32iop.h - - OTHER CORE CHANGES - - Title: "Fix error messages on method lookup failure" - From: Chip Salzenberg - Files: pp_hot.c - - Title: "Fix use of var before init in util.c" - From: Gurusamy Sarathy - Msg-ID: <199704162342.TAA20773@aatma.engin.umich.edu> - Date: Wed, 16 Apr 1997 19:42:41 -0400 - Files: util.c - - BUILD PROCESS - - Title: "Linux hints: Allow build w/o suidperl, prefer tcsh to csh" - From: Michael De La Rue <mikedlr@tardis.ed.ac.uk> - Files: Configure hints/linux.sh - - LIBRARY AND EXTENSIONS - - Title: "Fix bug in Opcode when (maxo & 15) > 8" - From: Chip Salzenberg - Files: ext/Opcode/Makefile.PL ext/Opcode/Opcode.pm - ext/Opcode/Opcode.xs - - Title: "CGI.pm broke again" - From: Andreas Koenig - Msg-ID: <199704171136.NAA24859@anna.in-berlin.de> - Date: Thu, 17 Apr 1997 13:36:28 +0200 - Files: lib/CGI.pm - - Title: "Revise quotewords()" - From: Shishir Gundavaram <shishir@ruby.ora.com> - Files: lib/Text/ParseWords.pm - - TESTS - - (no other changes) - - UTILITIES - - (no changes) - - DOCUMENTATION - - Title: "Doc updates: INSTALL-1.13, pumpkin.pod-1.9" - From: Andy Dougherty - Files: INSTALL Porting/pumpkin.pod - - Title: "Document size restrictions for packed integers" - From: Jarkko Hietaniemi - Files: pod/perlfunc.pod - - ------------------ -Version 5.003_97e ------------------ - -Y'know, I've heard of this "beta" thing, but it's been so long since -I've seen one, I'm not sure it really exists... - - CORE LANGUAGE CHANGES - - Title: "New operator: sysseek()" - From: Chip Salzenberg - Files: doio.c ext/Opcode/Makefile.PL ext/Opcode/Opcode.pm global.sym - keywords.pl opcode.pl pod/perldelta.pod pod/perlfunc.pod - pp_sys.c t/op/sysio.t toke.c - - Title: "Allow recursive substitution again" - From: Chip Salzenberg - Files: pod/perldelta.pod pod/perldiag.pod pp_hot.c - - CORE PORTABILITY - - Title: "Use size_t for socket size parameters of GNU libc" - From: Chip Salzenberg - Files: doio.c pp_sys.c - - Title: "Fix STMT_{START,END} under g++" - From: Steven Parkes <parkes@sierravista.com> - Msg-ID: <199704141935.MAA11240@monterey.sierravista.com> - Date: Mon, 14 Apr 1997 12:35:34 -0700 - Files: perl.h - - Title: "Win32 update (four patches)" - From: Gurusamy Sarathy and Nick Ing-Simmons - Files: MANIFEST README.win32 dosish.h ext/SDBM_File/Makefile.PL - ext/SDBM_File/sdbm/Makefile.PL ext/SDBM_File/sdbm/sdbm.c - ext/SDBM_File/sdbm/sdbm.h lib/ExtUtils/MM_Unix.pm perl.c - utils/perlbug.PL utils/perldoc.PL win32/Makefile win32/TEST - win32/config.H win32/config.w32 win32/config_h.PL - win32/config_sh.PL win32/perllib.c win32/runperl.c - win32/win32.c win32/win32io.c win32/win32sck.c - - OTHER CORE CHANGES - - Title: "New API function: perl_eval_pv()" - From: Doug MacEachern - Msg-ID: <199704142113.RAA06823@postman.osf.org> - Date: Mon, 14 Apr 1997 17:13:41 -0400 - Files: perl.c pod/perlcall.pod pod/perldelta.pod pod/perlembed.pod - pod/perlguts.pod proto.h - - Title: "Fix C< s//whatever/ >, which reuses old pattern" - From: Chip Salzenberg - Files: pp_hot.c regexec.c - - Title: "Return a value from PerlIO_{,un}getc" - From: Hallvard B Furuseth - Msg-ID: <199704131228.OAA05695@bombur2.uio.no> - Date: Sun, 13 Apr 1997 14:28:14 +0200 (MET DST) - Files: perlio.c - - Title: "Fix for environment leak" - From: skimo@breughel.ufsia.ac.be (Sven Verdoolaege) - Msg-ID: <19970415103246.NN46698@breughel.ufsia.ac.be> - Date: Tue, 15 Apr 1997 10:32:46 +0200 - Files: util.c - - Title: "Fix comments in seed()" - From: Hallvard B Furuseth - Msg-ID: <199704141758.TAA06895@bombur2.uio.no> - Date: Mon, 14 Apr 1997 19:58:38 +0200 (MET DST) - Files: pp.c - - BUILD PROCESS - - Title: "Put extensions' autoload files in $archlib" - From: Chip Salzenberg - Files: installperl - - Title: "Use '-fPIC' for debugging compiles under Solaris with gcc" - From: Hallvard B Furuseth - Files: Configure - - LIBRARY AND EXTENSIONS - - Title: "Refresh CGI to 2.34" - From: Chip Salzenberg - Files: eg/cgi/customize.cgi eg/cgi/tryit.cgi lib/CGI.pm - lib/CGI/Apache.pm - - Title: "Debugger update" - From: Ilya Zakharevich - Msg-ID: <199704142115.RAA09923@monk.mps.ohio-state.edu> - Date: Mon, 14 Apr 1997 17:15:27 -0400 (EDT) - Files: lib/perl5db.pl - - Title: "diagnostics: $/ gotcha" - From: Andreas Koenig - Msg-ID: <199704151814.UAA03404@anna.in-berlin.de> - Date: Tue, 15 Apr 1997 20:14:01 +0200 - Files: lib/diagnostics.pm - - Title: "Update File::Path" - From: Andreas Koenig - Msg-ID: <199704151401.QAA02556@anna.in-berlin.de> - Date: Tue, 15 Apr 1997 16:01:07 +0200 - Files: lib/File/Path.pm t/lib/filepath.t - - Title: "User::pwent.pm: g{,e}cos" - From: Tom Christiansen - Msg-ID: <199704130135.TAA23274@jhereg.perl.com> - Date: Sat, 12 Apr 1997 19:35:54 -0600 - Files: lib/User/pwent.pm - - Title: "Sys::Syslog: hyphens in hostnames" - From: Jarkko Hietaniemi - Msg-ID: <199704151421.RAA19693@alpha.hut.fi> - Date: Tue, 15 Apr 1997 17:21:53 +0300 (EET DST) - Files: lib/Sys/Syslog.pm - - Title: "Clean up format of dlopen() debug info" - From: Hallvard B Furuseth - Files: ext/DynaLoader/dl_dlopen.xs - - TESTS - - (no changes) - - UTILITIES - - Title: "xsubpp incorrectly handles 'class::newthing()'" - From: "John Q. Linux" <jql@jql.accessone.com> - Msg-ID: <199704122201.PAA01780@jql.accessone.com> - Date: Sat, 12 Apr 1997 15:01:33 -0700 - Files: lib/ExtUtils/xsubpp - - DOCUMENTATION - - Title: "Add CGI to perldelta.pod and improve its description in MANIFEST" - From: Chip Salzenberg - Files: MANIFEST pod/perldelta.pod - - Title: "Describe probs with majordomo 1.94.1" - From: Chip Salzenberg - Files: pod/perldelta.pod - - Title: "Fix description of /\G/g" - From: Chip Salzenberg - Files: pod/perlop.pod - - Title: "Mention '...' operator in precedence table" - From: Tom Christiansen - Msg-ID: <199704131724.LAA23120@jhereg.perl.com> - Date: Sun, 13 Apr 1997 11:24:16 -0600 - Files: pod/perlop.pod - - ------------------ -Version 5.003_97d ------------------ - -Any minute now... second public beta... no, really... - - CORE LANGUAGE CHANGES - - Title: "Fix for incorrect overloaded assignment" - From: Ilya Zakharevich - Msg-ID: <199704112225.SAA03482@monk.mps.ohio-state.edu> - Date: Fri, 11 Apr 1997 18:25:33 -0400 (EDT) - Files: gv.c - - Title: "Fix C< $x=''; pos($x)=0; $x=~/\G$/ >" - From: Chip Salzenberg - Files: pp_hot.c - - Title: "Fix label on C<for(;;)> statement" - From: Chip Salzenberg - Files: perly.c perly.y - - CORE PORTABILITY - - Title: "update to 5.003_97b/hint/irix_6_2.sh" - From: Scott Henry <scotth@sgi.com> - Msg-ID: <yd8hghdjbk0.fsf@hoshi.engr.sgi.com> - Date: 11 Apr 1997 18:05:03 -0700 - Files: hints/irix_6_2.sh - - OTHER CORE CHANGES - - Title: "Before 'BEGIN not safe', explain why" - From: Chip Salzenberg - Files: op.c - - Title: "New error msg for low-key failure of C<require>" - From: Chip Salzenberg - Files: pod/perldiag.pod pp_ctl.c t/pragma/strict-subs - t/pragma/strict-vars - - Title: "Put "dXSUB_SYS" last in declarations" - From: Chip Salzenberg - Files: win32/perllib.c - - Title: "Minor type cleanup" - From: Chip Salzenberg - Files: proto.h toke.c - - BUILD PROCESS - - (no changes) - - LIBRARY AND EXTENSIONS - - Title: "win32: perl5db patch" - From: Gurusamy Sarathy - Msg-ID: <199704102142.RAA27396@aatma.engin.umich.edu> - Date: Thu, 10 Apr 1997 17:42:13 -0400 - Files: lib/perl5db.pl - - Title: "Enhancements to debugger, Term::ReadLine, Term::Cap" - From: Ilya Zakharevich - Msg-ID: <199704101948.PAA01841@monk.mps.ohio-state.edu> - Date: Thu, 10 Apr 1997 15:48:07 -0400 (EDT) - Files: lib/Term/Cap.pm lib/Term/ReadLine.pm lib/perl5db.pl - - Title: "MM_Unix patch for use under CVS" - From: Ulrich Pfeifer - Msg-ID: <yfmd8s1vhpn.fsf@ls6.informatik.uni-dortmund.de> - Date: 11 Apr 1997 14:59:00 +0200 - Files: lib/ExtUtils/MM_Unix.pm - - Title: "Complex update (five patches)" - From: Jarkko Hietaniemi - Files: lib/Math/Complex.pm t/lib/complex.t - - Title: "Fix undef warning in Math::BigInt" - From: Chip Salzenberg - Files: lib/Math/BigInt.pm - - TESTS - - (no other changes) - - UTILITIES - - Title: "Add B<-o> option to a2p, for old awk; make new the default" - From: Chip Salzenberg - Files: x2p/a2p.h x2p/a2p.pod x2p/a2py.c x2p/walk.c - - DOCUMENTATION - - Title: "typo in lib/diagnostics.pm" - From: barnett@grymoire.crd.ge.com (Bruce Barnett) - Msg-ID: <199704111800.OAA27297@grymoire.crd.ge.com> - Date: Fri, 11 Apr 1997 14:00:54 -0400 - Files: lib/diagnostics.pm - - Title: "Use B<> for options in Class::Struct pod" - From: Hugo van der Sanden <hv@iii.co.uk> - Msg-ID: <334D2E7B.67F0@iii.co.uk> - Date: Thu, 10 Apr 1997 19:16:27 +0100 - Files: lib/Class/Struct.pm - - Title: "Explain //g and \G issues" - From: Gurusamy Sarathy - Msg-ID: <199704122048.QAA25060@aatma.engin.umich.edu> - Date: Sat, 12 Apr 1997 16:48:41 -0400 - Files: pod/perldelta.pod pod/perlop.pod pod/perlre.pod - - Title: "more (err, less) doubled words" - From: Jarkko Hietaniemi - Msg-ID: <199704111931.WAA24460@alpha.hut.fi> - Date: Fri, 11 Apr 1997 22:31:25 +0300 (EET DST) - Files: ext/DB_File/DB_File.pm ext/DynaLoader/DynaLoader.pm - ext/IO/lib/IO/Pipe.pm lib/CGI.pm lib/Exporter.pm - lib/ExtUtils/MakeMaker.pm lib/IPC/Open2.pm lib/IPC/Open3.pm - lib/vars.pm pod/perlcall.pod pod/perldiag.pod - pod/perlfaq1.pod pod/perlfaq3.pod pod/perlfaq5.pod - pod/perlfaq7.pod pod/perlfaq8.pod pod/perlipc.pod - - Title: "Freudian slip error in perlsub.pod" - From: barnett@grymoire.crd.ge.com (Bruce Barnett) - Msg-ID: <199704111755.NAA27200@grymoire.crd.ge.com> - Date: Fri, 11 Apr 1997 13:55:07 -0400 - Files: pod/perlsub.pod - - Title: "Little patch for perl5.003_97c/pod/perlpod.pod" - From: rse@engelschall.com (Ralf S. Engelschall) - Msg-ID: <199704112048.WAA08733@en1.engelschall.com> - Date: Fri, 11 Apr 1997 22:48:37 +0200 - Files: pod/perlpod.pod - - ------------------ -Version 5.003_97c ------------------ - -That second public beta will be Real Soon Now... - - CORE LANGUAGE CHANGES - - Title: "Refine setgroups() behavior of C<$)>" - From: Chip Salzenberg - Files: mg.c pod/perldelta.pod pod/perlvar.pod - - Title: "Forbid -[Mm] on #! line" - From: Chip Salzenberg - Files: pod/perldelta.pod pod/perldiag.pod toke.c - - CORE PORTABILITY - - Title: "Fix dynamic loading (and argv[0]) under AmigaOS" - From: Norbert Pueschel - Msg-ID: <77724842@Armageddon.meb.uni-bonn.de> - Date: Tue, 08 Apr 1997 22:01:45 +0200 - Files: hints/amigaos.sh - - Title: "Special mkdir() for VMS" - From: Charles Bailey - Msg-ID: <01IHGOXN6MZM0004K3@hmivax.humgen.upenn.edu> - Date: Tue, 08 Apr 1997 12:33:56 -0400 (EDT) - Files: dosish.h lib/ExtUtils/MM_Unix.pm lib/File/Path.pm os2/os2ish.h - plan9/plan9ish.h pp_sys.c unixish.h vms/vms.c vms/vmsish.h - - OTHER CORE CHANGES - - Title: "Fix assignment from magic SV that becomes a glob" - From: Chip Salzenberg - Files: sv.c - - BUILD PROCESS - - Title: "Fix syntax error in Configure comment(!)" - From: Chip Salzenberg - Files: Configure - - Title: "For Solaris, if -DDEBUGGING, default to '-KPIC', not '-Kpic'" - From: Chip Salzenberg - Files: Configure - - Title: "Fix usage of dXSUB_SYS, esp. in ExtUtils::Miniperl" - From: Chip Salzenberg - Files: dosish.h minimod.pl os2/os2ish.h plan9/plan9ish.h vms/vmsish.h - - LIBRARY AND EXTENSIONS - - Title: "Replace Class::Template with improved Class::Struct" - From: Jim Miner <jfm@winternet.com> - Files: MANIFEST lib/Class/Struct.pm lib/Class/Template.pm - lib/File/stat.pm lib/Net/hostent.pm lib/Net/netent.pm - lib/Net/protoent.pm lib/Net/servent.pm lib/Time/gmtime.pm - lib/Time/localtime.pm lib/Time/tm.pm lib/User/grent.pm - lib/User/pwent.pm pod/perldelta.pod pod/perlfaq7.pod - pod/perlmod.pod pod/perltoot.pod - - Title: "MakeMaker pathname patch" - From: Nick Ing-Simmons - Msg-ID: <199704091908.UAA00877@ni-s.u-net.com> - Date: Wed, 9 Apr 1997 20:08:23 +0100 - Files: lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm - - Title: "Fix configuration of new socket" - From: Chip Salzenberg - Files: ext/IO/lib/IO/Socket.pm - - Title: "Improve IO::Handle docs; don't export _open_mode_string" - From: Chip Salzenberg - Files: ext/IO/lib/IO/File.pm ext/IO/lib/IO/Handle.pm - - Title: "Complex.pm: 0**0 sanity" - From: Jarkko Hietaniemi - Msg-ID: <199704091804.VAA13930@alpha.hut.fi> - Date: Wed, 9 Apr 1997 21:04:23 +0300 (EET DST) - Files: lib/Math/Complex.pm - - Title: "Fix typos in Math::Trig" - From: Jarkko Hietaniemi - Files: lib/Math/Trig.pm - - TESTS - - Title: "Accommodate CodeBuilder variant of Machten 4.0.3" - From: Dominic Dunlop <domo@slipper.ip.lu> - Msg-ID: <v03020902af704d320f27@[194.51.248.88]> - Date: Tue, 8 Apr 1997 22:15:15 +0200 - Files: t/io/fs.t t/op/stat.t - - UTILITIES - - (no changes) - - DOCUMENTATION - - Title: "IO::Socket doc fix" - From: Roderick Schertler - Msg-ID: <28383.860527843@eeyore.ibcinc.com> - Date: Tue, 08 Apr 1997 15:30:43 -0400 - Files: ext/IO/lib/IO/Socket.pm - - ------------------ -Version 5.003_97b ------------------ - -Working on the second public beta... - - CORE LANGUAGE CHANGES - - Title: "Make assignment to C<$)> call setgroups()" - From: Chip Salzenberg - Files: Configure config_H config_h.SH mg.c plan9/config.plan9 - pod/perldelta.pod vms/config.vms win32/config.H - win32/config.w32 - - Title: "Grandfather "$$<digit>" in strings" - From: Chip Salzenberg - Files: pod/perldiag.pod toke.c - - Title: "Disconnect warn and die hooks _after_ object destruction" - From: Chip Salzenberg - Files: perl.c - - Title: "Forbid recursive substitutions" - From: Chip Salzenberg - Files: cop.h pod/perldelta.pod pod/perldiag.pod pp_ctl.c pp_hot.c - - CORE PORTABILITY - - Title: "Use SSize_t for values of PerlIO_{read,write}" - From: Chip Salzenberg - Files: perlio.c perlio.h perlsdio.h pp_sys.c - - Title: "perlwin-97a_4: win32 environ fix" - From: Gurusamy Sarathy - Msg-ID: <199704060431.XAA23400@aatma.engin.umich.edu> - Date: Sat, 05 Apr 1997 23:31:11 -0500 - Files: win32/win32.c win32/win32io.c win32/win32io.h win32/win32iop.h - - OTHER CORE CHANGES - - Title: "length($') isn't" - From: Gurusamy Sarathy - Msg-ID: <199704070730.DAA07310@aatma.engin.umich.edu> - Date: Mon, 07 Apr 1997 03:30:44 -0400 - Files: mg.c - - Title: "Fix obscure regex bug related to leading C<.*>" - From: Chip Salzenberg - Files: toke.c - - Title: "Add warning for glob failure" - From: Chip Salzenberg - Files: pod/perldelta.pod pod/perldiag.pod pp_hot.c - - Title: "Fix C<perl -V> in presence of local patches" - From: Chip Salzenberg - Files: perl.c - - BUILD PROCESS - - Title: "Don't suggest 'Configure -der' in config.sh comments" - From: Chip Salzenberg - Files: Configure - - LIBRARY AND EXTENSIONS - - Title: "CGI->redirect patch" - From: Doug MacEachern - Msg-ID: <199704051527.KAA11280@postman.osf.org> - Date: Sat, 05 Apr 1997 10:27:52 -0500 - Files: lib/CGI.pm - - Title: "Updates to Math::Complex and Math::Trig" - From: Jarkko Hietaniemi - Files: lib/Math/Complex.pm lib/Math/Trig.pm pod/perldelta.pod - t/lib/complex.t - - Title: "Fix FindBin under Win32, and document success" - From: Nick Ing-Simmons and Gurusamy Sarathy - Msg-ID: <199704051504.QAA09507@ni-s.u-net.com> - Date: Sat, 5 Apr 1997 16:04:52 +0100 - Files: README.win32 lib/Cwd.pm lib/FindBin.pm - - TESTS - - (no other changes) - - UTILITIES - - Title: "Patch for 'perldoc -f'" - From: Gisle Aas - Msg-ID: <199704061732.TAA00353@bergen.sn.no> - Date: Sun, 6 Apr 1997 19:32:04 +0200 - Files: utils/perldoc.PL - - DOCUMENTATION - - Title: "Document required module versions" - From: Chip Salzenberg - Files: pod/perldelta.pod - - Title: "Document sample function perl_eval()" - From: Doug MacEachern - Msg-ID: <199704051524.KAA06090@postman.osf.org> - Date: Sat, 05 Apr 1997 10:24:43 -0500 - Files: pod/perlcall.pod pod/perlembed.pod - - Title: "Make L<perltrap> refer to L<perldelta>" - From: Chip Salzenberg - Files: pod/perltrap.pod - - ------------------ -Version 5.003_97a ------------------ - -This release gets a letter instead of a full subversion because I'm -planning on making 5.003_98 the second public beta. - - CORE LANGUAGE CHANGES - - Title: "Fix AUTOLOAD, or kill me" - From: Chip Salzenberg - Files: gv.c pp.c t/op/method.t - - CORE PORTABILITY - - Title: "Add support for Cygwin32 (GNU-Win32) -- very low impact" - From: John Cerney <j-cerney1@ti.com> - Msg-ID: <199704030821.JAA08762@pluto.tiuk.ti.com> - Date: Thu, 3 Apr 1997 09:21:17 +0100 - Files: MANIFEST README.cygwin32 cygwin32/cw32imp.h cygwin32/gcc2 - cygwin32/ld2 cygwin32/perlgcc cygwin32/perlld - ext/DynaLoader/dl_cygwin32.xs hints/cygwin32.sh perl.h - pp_sys.c - - Title: "Win32 update (six patches)" - From: Gurusamy Sarathy - Files: MANIFEST README.win32 dosish.h t/io/fs.t t/io/tell.t - t/lib/io_tell.t t/op/magic.t t/op/mkdir.t t/op/runlevel.t - t/op/stat.t t/op/taint.t win32/Makefile win32/VC-2.0/pod.mak - win32/makedef.pl win32/pod.mak win32/win32.c win32/win32.h - win32/win32io.c win32/win32io.h win32/win32iop.h - - Title: "AmigaOS update" - From: Norbert Pueschel - Msg-ID: <77724828@Armageddon.meb.uni-bonn.de> - Date: Thu, 03 Apr 1997 16:16:51 +0200 - Files: README.amiga hints/amigaos.sh - - OTHER CORE CHANGES - - Title: "Fix const-sub-related panic on C<sub foo { my $x; 0 } foo>" - From: Chip Salzenberg - Files: op.c - - Title: "Fix warning for useless C<1..2>" - From: Chip Salzenberg - Files: op.c - - Title: "Minor cleanups" - From: Gurusamy Sarathy - Msg-ID: <199704040056.TAA22253@aatma.engin.umich.edu> - Date: Thu, 03 Apr 1997 19:56:57 -0500 - Files: mg.c mg.h perl.c - - Title: "Eliminate unreliable warning with %SIG and strict refs" - From: Chip Salzenberg - Files: mg.c - - Title: "Fix impossible test in vivification" - From: Chip Salzenberg - Files: mg.c - - Title: "runlevel is I32, not int" - From: Roderick Schertler - Msg-ID: <2848.860109823@eeyore.ibcinc.com> - Date: Thu, 03 Apr 1997 18:23:43 -0500 - Files: pp_ctl.c util.c - - BUILD PROCESS - - Title: "Re: shared lib compilation problem with miniperl5.003_97" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970404124326.647K-100000@fractal.lafayette.ed - Date: Fri, 04 Apr 1997 13:02:23 -0500 (EST) - Files: Makefile.SH - - LIBRARY AND EXTENSIONS - - Title: "Math::Trig, based on (and from an author of) Math::Complex" - From: Chip Salzenberg - Files: MANIFEST lib/Math/Complex.pm lib/Math/Trig.pm - pod/perldelta.pod t/lib/complex.t t/lib/trig.t - - Title: "Update AutoLoader and docs; support C<use AutoLoader 'AUTOLOAD'>" - From: Chip Salzenberg and Tim Bunce - Files: lib/AutoLoader.pm - - Title: "CPAN & TRL-Gnu" - From: Achim Bohnet <ach@rosat.mpe-garching.mpg.de> - Msg-ID: <9704040809.AA26143@o09.rosat.mpe-garching.mpg.de> - Date: Fri, 04 Apr 1997 10:09:03 +0200 - Files: lib/CPAN.pm - - Title: "Limit @ISA to actual DBM in AnyDBM" - From: Chip Salzenberg - Files: lib/AnyDBM_File.pm - - Title: "Don't use $4 when it might be undef" - From: Chip Salzenberg - Files: lib/bigfloat.pl - - TESTS - - Title: "Make *dbm tests work with Win32" - From: Chip Salzenberg - Files: t/lib/anydbm.t t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t - t/lib/sdbm.t - - UTILITIES - - (no changes) - - DOCUMENTATION - - Title: "Update INSTALL" - From: Andy Dougherty - Files: INSTALL - - Title: "Pod style" - From: Nathan Torkington <gnat@prometheus.frii.com> - Files: pod/perlcall.pod pod/perldata.pod pod/perldebug.pod - pod/perldiag.pod pod/perlform.pod pod/perlfunc.pod - pod/perlipc.pod pod/perllocale.pod pod/perlmod.pod - pod/perlop.pod pod/perlre.pod pod/perlrun.pod - pod/perlstyle.pod pod/perltoc.pod pod/perlvar.pod - - ----------------- -Version 5.003_97 ----------------- - - CORE LANGUAGE CHANGES - - Title: "Reenable but deprecate inherited AUTOLOAD for plain funcs" - From: Chip Salzenberg - Files: ext/DynaLoader/DynaLoader.pm gv.c lib/Text/ParseWords.pm - pod/perldelta.pod pod/perldiag.pod t/op/method.t - - CORE PORTABILITY - - Title: "Don't use setjmp() and longjmp() in complex exprs" - From: Chip Salzenberg - Files: perl.c pp_ctl.c scope.h - - Title: "Improve definition of Sock_size_t" - From: Chip Salzenberg - Files: doio.c pp_sys.c - - Title: "Don't use a completely empty macro parameter" - From: Chip Salzenberg - Files: sv.h - - Title: "Win32 update" - From: Gurusamy Sarathy - Msg-ID: <199704020608.BAA29538@aatma.engin.umich.edu> - Date: Wed, 02 Apr 1997 01:08:09 -0500 - Files: win32/VC-2.0/modules.mak win32/VC-2.0/perl.mak win32/VC- - 2.0/perldll.mak win32/perl.mak - - OTHER CORE CHANGES - - Title: "Introduce and use gv_fetchmethod_autoload()" - From: Chip Salzenberg - Files: global.sym gv.c pod/perlguts.pod proto.h universal.c - - Title: "Reduce memory footprint of literal strings" - From: ilya@math.ohio-state.edu (Ilya Zakharevich) - Msg-ID: <1997Apr1.113438.1913905@hmivax.humgen.upenn.edu> - Date: Tue, 01 Apr 1997 11:34:37 -0500 (EST) - Files: toke.c - - BUILD PROCESS - - Title: "Remove target before link() of perldiag.pod" - From: Chip Salzenberg - Files: installperl - - LIBRARY AND EXTENSIONS - - Title: "Refresh CPAN to 1.24" - From: Andreas Koenig - Files: lib/CPAN.pm lib/CPAN/FirstTime.pm - - Title: "Refresh ExtUtils::Manifest to 1.33" - From: Andreas Koenig - Files: lib/ExtUtils/Manifest.pm - - Title: "Update $VERSION of ExtUtils::Embed to reflect reality" - From: Chip Salzenberg - Files: lib/ExtUtils/Embed.pm - - Title: "Fix POSIX::raise()" - From: "Jens T. Berger Thielemann" <jensthi@ifi.uio.no> - Msg-ID: <Pine.SUN.3.91.970401153125.8053A-100000@holmenkollen.ifi.uio - Date: Tue, 1 Apr 1997 15:34:47 +0200 (MET DST) - Files: ext/POSIX/POSIX.pm - - Title: "Eliminate warnings in File::Basename" - From: Robin Barker <rmb1@cise.npl.co.uk> - Msg-ID: <11173.9704011111@tempest.cise.npl.co.uk> - Date: Tue, 1 Apr 97 12:11:43 BST - Files: lib/File/Basename.pm t/lib/basename.t - - Title: "Eliminate warning in CGI.pm" - From: Chip Salzenberg - Files: lib/CGI.pm - - Title: "Tweaks to constant.pm" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.96.970331205519.16684I-100000@kelly.teleport.com> - Date: Mon, 31 Mar 1997 21:10:14 -0800 (PST) - Files: lib/constant.pm - - Title: "Document eval vs. sub in Benchmark" - From: Hugo van der Sanden <hv@crypt.compulink.co.uk> - Msg-ID: <199704012231.XAA00225@crypt.compulink.co.uk> - Date: Tue, 01 Apr 1997 23:31:55 +0100 - Files: lib/Benchmark.pm - - TESTS - - (no other changes) - - UTILITIES - - Title: "Improve heuristics for pod2man titles" - From: Roderick Schertler - Msg-ID: <pzn2ri9gto.fsf@eeyore.ibcinc.com> - Date: 01 Apr 1997 23:41:55 -0500 - Files: pod/pod2man.PL - - DOCUMENTATION - - Title: "Clean up some poddities, and make C<make html> work again" - From: Chip Salzenberg - Files: pod/Makefile pod/perldelta.pod pod/perldiag.pod - pod/perlfaq8.pod pod/perlfunc.pod pod/perlop.pod - pod/perltrap.pod - - Title: "Fix MM doc's use of "SUPER::"" - From: avera@hal.com (Jim Avera) - Msg-ID: <9704012235.AA07841@membrane.hal.com> - Date: Tue, 1 Apr 1997 14:35:26 -0800 (PST) - Files: lib/ExtUtils/MakeMaker.pm - - Title: "Eliminate pod warnings in libs" - From: Chip Salzenberg - Files: lib/CGI.pm lib/ExtUtils/Command.pm - - ----------------- -Version 5.003_96 ----------------- - - CORE LANGUAGE CHANGES - - Title: "Support $ENV{PERL5OPT}" - From: Chip Salzenberg - Files: perl.c pod/perldiag.pod pod/perldelta.pod pod/perlrun.pod - - Title: "Implement void context, in which C<wantarray> is undef" - From: Chip Salzenberg - Files: cop.h doop.c dump.c global.sym gv.c op.c op.h perl.c - pod/perlcall.pod pod/perldelta.pod pod/perlfunc.pod - pod/perlguts.pod pod/perlsub.pod pp.c pp_ctl.c pp_hot.c - pp_sys.c proto.h - - Title: "Don't look up &AUTOLOAD in @ISA when calling plain function" - From: Chip Salzenberg - Files: global.sym gv.c lib/Text/ParseWords.pm pod/perldelta.pod - pp_hot.c proto.h t/op/method.t - - Title: "Allow closures to be constant subroutines" - From: Chip Salzenberg - Files: op.c - - Title: "Make C<scalar(reverse)> mean C<scalar(reverse $_)>" - From: Chip Salzenberg - Files: pp.c - - Title: "Fix lexical suicide from C<my $x = $x> in sub" - From: Chip Salzenberg - Files: op.c - - Title: "Make "Unrecog. char." fatal, and update its doc" - From: Chip Salzenberg - Files: pod/perldiag.pod toke.c - - Title: "Die on patterns that will match empty string forever" - From: Stephen Potter <spp@psa.pencom.com> - Msg-ID: <199703282138.PAA28311@psa.pencom.com> - Date: Fri, 28 Mar 1997 15:38:30 -0600 - Files: regcomp.c - - CORE PORTABILITY - - Title: "safefree() mismatch" - From: Roderick Schertler - Msg-ID: <21338.859653381@eeyore.ibcinc.com> - Date: Sat, 29 Mar 1997 11:36:21 -0500 - Files: util.c - - Title: "FreeBSD update" - From: Slaven Rezic <eserte@cs.tu-berlin.de> - Msg-ID: <199703311417.QAA04162@cabulja.herceg.de> - Date: Mon, 31 Mar 1997 16:17:42 +0200 (MET DST) - Files: hints/freebsd.sh - - Title: "Win32 update (seven patches)" - From: Gurusamy Sarathy and Nick Ing-Simmons - Files: EXTERN.h MANIFEST win32/Makefile win32/perl.mak - win32/perl.rc win32/perldll.mak win32/makedef.pl - win32/modules.mak win32/win32io.c win32/bin/pl2bat.bat - - OTHER CORE CHANGES - - Title: "Report PERL* environment variables in -V and perlbug" - From: Chip Salzenberg - Files: perl.c utils/perlbug.PL - - Title: "Typo in perl.c: Printing NO_EMBED for perl -V" - From: Gisle Aas - Msg-ID: <199703301922.VAA13509@furubotn.sn.no> - Date: Sun, 30 Mar 1997 21:22:11 +0200 - Files: perl.c - - Title: "Don't let C<$var = $var> untaint $var" - From: Chip Salzenberg - Files: pp_hot.c pp_sys.c sv.h t/op/taint.t - - Title: "Fix autoviv bug in C<my $x; ++$x->{KEY}>" - From: Chip Salzenberg - Files: pp_hot.c - - Title: "Re: 5.004's new srand() default seed" - From: Hallvard B Furuseth - Msg-ID: <199703302219.AAA20998@bombur2.uio.no> - Date: Mon, 31 Mar 1997 00:19:13 +0200 (MET DST) - Files: pp.c - - Title: "Re: embedded perl and top_env problem " - From: Gurusamy Sarathy - Msg-ID: <199703280031.TAA05711@aatma.engin.umich.edu> - Date: Thu, 27 Mar 1997 19:31:42 -0500 - Files: gv.c interp.sym perl.c perl.h pp_ctl.c pp_sys.c scope.h util.c - - Title: "Define and use new macro: boolSV()" - From: Tim Bunce - Files: gv.c lib/ExtUtils/typemap os2/os2.c pp.c pp_hot.c pp_sys.c - sv.c sv.h universal.c vms/vms.c - - Title: "Re: strict @F" - From: Hallvard B Furuseth - Msg-ID: <199703252110.WAA16038@bombur2.uio.no> - Date: Tue, 25 Mar 1997 22:10:33 +0100 (MET) - Files: toke.c - - Title: "Try harder to identify errors at EOF" - From: Chip Salzenberg - Files: toke.c - - Title: "Minor string change in toke.c: 'bareword'" - From: lvirden@cas.org - Msg-ID: <1997Mar27.130247.1911552@hmivax.humgen.upenn.edu> - Date: Thu, 27 Mar 1997 13:02:46 -0500 (EST) - Files: toke.c - - Title: "Improve diagnostic on \r in program text" - From: Chip Salzenberg - Files: pod/perldiag.pod toke.c - - Title: "Make Sock_size_t typedef work right" - From: Chip Salzenberg - Files: perl.h pp_sys.c - - Title: "Eliminate unused dummy variable" - From: Doug MacEachern - Msg-ID: <199703270123.UAA25454@postman.osf.org> - Date: Wed, 26 Mar 1997 20:23:14 -0500 - Files: lib/ExtUtils/Embed.pm unixish.h writemain.SH - - BUILD PROCESS - - Title: "Allow for coexistence of various versions of perldiag.pod" - From: Chip Salzenberg - Files: installperl lib/diagnostics.pm - - LIBRARY AND EXTENSIONS - - Title: "New module constant.pm" - From: Tom Phoenix - Files: MANIFEST lib/constant.pm op.c pp.c t/pragma/constant.t - - Title: "Remove chat2" - From: Chip Salzenberg - Files: MANIFEST lib/chat2.inter lib/chat2.pl - - Title: "Include CGI.pm 2.32" - From: Chip Salzenberg - Files: MANIFEST eg/cgi/* lib/CGI.pm lib/CGI/Apache.pm - lib/CGI/Carp.pm lib/CGI/Fast.pm lib/CGI/Push.pm - lib/CGI/Switch.pm - - Title: "Fix C<print $_> in debugger" - From: Ilya Zakharevich - Msg-ID: <199703312355.SAA01068@monk.mps.ohio-state.edu> - Date: Mon, 31 Mar 1997 18:55:55 -0500 (EST) - Files: lib/perl5db.pl - - Title: "Re: Pod problems & fixes" - From: Hallvard B Furuseth - Msg-ID: <199703261829.TAA17015@bombur2.uio.no> - Date: Wed, 26 Mar 1997 19:29:14 +0100 (MET) - Files: lib/Pod/Text.pm - - Title: "Re: $whoami calculation in Sys::Syslog.pm should not be greedy" - From: Roderick Schertler - Msg-ID: <pz4tdu7j57.fsf@eeyore.ibcinc.com> - Date: 29 Mar 1997 11:33:24 -0500 - Files: lib/Sys/Syslog.pm - - Title: "C<new SelectSaver $fh> doesn't always restore" - From: Spider Boardman - Msg-ID: <199703291906.OAA07232@Orb.Nashua.NH.US> - Date: Sat, 29 Mar 1997 14:06:37 -0500 - Files: lib/SelectSaver.pm - - Title: "Patch for Benchmark.pm" - From: Hugo van der Sanden <hv@crypt.compulink.co.uk> w/Tim Bunce - Msg-ID: <199703291504.PAA01596@crypt.compulink.co.uk> - Date: Sat, 29 Mar 1997 15:04:32 +0000 - Files: lib/Benchmark.pm - - Title: "Tiny doc fix for AutoSplit.pm" - From: "Randy J. Ray" <rjray@uswest.com> - Msg-ID: <rjray-9702272117.AA001223633@snakepit.ecte.uswc.uswest.com> - Date: Thu, 27 Mar 1997 14:17:38 -0700 - Files: lib/AutoSplit.pm - - TESTS - - (no other changes) - - UTILITIES - - Title: "Tom C's Pod::Html and html tools, as of 30 March 97" - From: Chip Salzenberg - Files: MANIFEST installhtml lib/Pod/Html.pm pod/pod2html.PL - - Title: "Fix path bugs in installhtml" - From: Robin Barker <rmb1@cise.npl.co.uk> - Msg-ID: <3180.9703270906@tempest.cise.npl.co.uk> - Date: Thu, 27 Mar 97 09:06:14 GMT - Files: installhtml - - Title: "Make perlbug say that it's only for core Perl bugs" - From: Chip Salzenberg - Files: utils/perlbug.PL - - DOCUMENTATION - - Title: "INSTALL-1.11" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970326140905.10178A-100000@fractal.lafayette. - Date: Wed, 26 Mar 1997 14:27:52 -0500 (EST) - Files: INSTALL - - Title: "Patch for perl.pod" - From: wmiddlet@Adobe.COM (William Middleton) - Msg-ID: <199703262305.PAA13121@ducks> - Date: Wed, 26 Mar 1997 15:05:39 -0800 (PST) - Files: pod/perl.pod - - Title: "Document autouse and constant; update diagnostics" - From: Chip Salzenberg - Files: pod/perldelta.pod - - Title: "Suggest to upgraders that they try '-w' again" - From: Hallvard B Furuseth - Msg-ID: <199703251901.UAA15982@bombur2.uio.no> - Date: Tue, 25 Mar 1997 20:01:26 +0100 (MET) - Files: pod/perldelta.pod - - Title: "Improve and update documentation of constant subs" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.96.970331122546.14185C-100000@kelly.teleport.com> - Date: Mon, 31 Mar 1997 13:05:54 -0800 (PST) - Files: pod/perlsub.pod - - Title: "Improve documentation of C<return>" - From: Chip Salzenberg - Files: pod/perlfunc.pod pod/perlsub.pod - - Title: "perlfunc.pod patch" - From: Gisle Aas - Msg-ID: <199703262159.WAA17531@furubotn.sn.no> - Date: Wed, 26 Mar 1997 22:59:23 +0100 - Files: pod/perlfunc.pod - - Title: "Use 'while (defined($x = <>)) {}', per <gnat@frii.com>" - From: Chip Salzenberg - Files: configpm lib/Term/Cap.pm perlsh pod/perlipc.pod pod/perlop.pod - pod/perlsub.pod pod/perlsyn.pod pod/perltrap.pod - pod/perlvar.pod win32/bin/search.bat - - Title: "Document and test C<%> behavior with negative operands" - From: Chip Salzenberg - Files: pod/perlop.pod t/op/arith.t - - Title: "Update docs on $]" - From: Chip Salzenberg - Files: pod/perlvar.pod - - Title: "perlvar.pod patch" - From: Gisle Aas - Msg-ID: <199703261254.NAA10237@bergen.sn.no> - Date: Wed, 26 Mar 1997 13:54:00 +0100 - Files: pod/perlvar.pod - - Title: "Fix example of C<or> vs. C<||>" - From: Chip Salzenberg - Files: pod/perlsyn.pod - - Title: "Pod usage and spelling patch" - From: Larry W. Virden - Files: pod/*.pod - - Title: "Pod updates" - From: "Cary D. Renzema" <caryr@mxim.com> - Msg-ID: <199703262353.PAA01819@macs.mxim.com> - Date: Wed, 26 Mar 1997 15:53:22 -0800 (PST) - Files: pod/*.pod - - ----------------- -Version 5.003_95 ----------------- - - CORE LANGUAGE CHANGES - - Title: "Don't compile scalar mods of aggregates, like C<@a =~ s/a/b/>" - From: Chip Salzenberg - Files: op.c t/op/misc.t - - Title: "Automatically flush on C< $| = 1 >" - From: Chip Salzenberg - Files: mg.c - - Title: "Refine modulus ("%") per suggestion of Tim Goodwin" - From: Chip Salzenberg - Files: pp.c - - Title: "If C<perl -a>, do equivalent of C<use vars '@F'>" - From: Chip Salzenberg - Files: toke.c - - Title: "Warn about undef magic values just like non-magic" - From: Chip Salzenberg - Files: ext/Opcode/Safe.pm sv.c t/lib/db-btree.t t/lib/db-hash.t - t/lib/db-recno.t t/pragma/locale.t - - CORE PORTABILITY - - Title: "Remove redundant patch to hints/bsdos.sh" - From: Shigeya Suzuki <shigeya@foretune.co.jp> - Msg-ID: <19970322222244K.shigeya@foretune.co.jp> - Date: Sat, 22 Mar 1997 22:22:44 +0900 - Files: hints/bsdos.sh - - Title: "Another MachTen Patch" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.96.970324152150.20610P-100000@kelly.teleport.com> - Date: Mon, 24 Mar 1997 15:26:48 -0800 (PST) - Files: hints/machten_2.sh - - Title: "Win32 update (five patches)" - From: Gurusamy Sarathy and Nick Ing-Simmons - Files: MANIFEST README.win32 doio.c dosish.h pp_sys.c - lib/ExtUtils/Command.pm t/comp/multiline.t t/op/magic.t - t/op/mkdir.t t/op/runlevel.t t/op/stat.t t/op/write.t - win32/Makefile win32/config.H win32/config.w32 win32/win32.c - win32/win32.h win32/win32aux.c win32/*.mak win32/VC-2.0/*.mak - - OTHER CORE CHANGES - - Title: "Fix botch with G_NOARGS; PUSHMARK *is* required" - From: Chip Salzenberg - Files: perl.c - - Title: "Improve 'prototype mismatch' warning" - From: Chip Salzenberg - Files: global.sym op.c pod/perldiag.pod proto.h sv.c t/comp/redef.t - - Title: "In perlio, fix vprintf() definition and define vfprintf()" - From: Chip Salzenberg - Files: perlio.c - - BUILD PROCESS - - (no other changes) - - LIBRARY AND EXTENSIONS - - Title: "Fix C<require> in Getopt::Long to work with 5.003" - From: Chip Salzenberg - Files: lib/Getopt/Long.pm - - Title: "Extraneous blank lines from Pod::Text" - From: Russ Allbery <rra@stanford.edu> - Msg-ID: <qumend4qq08.fsf@cyclone.stanford.edu> - Date: 25 Mar 1997 01:28:55 -0800 - Files: lib/Pod/Text.pm - - Title: "Exporting UNIVERSAL::can" - From: "M.J.T. Guy" - Msg-ID: <E0w9DwX-0000Zr-00@taurus.cus.cam.ac.uk> - Date: Mon, 24 Mar 1997 17:54:01 +0000 - Files: lib/UNIVERSAL.pm - - Title: "Term::Readline patch for AmigaOS" - From: Norbert Pueschel - Msg-ID: <77724797@Armageddon.meb.uni-bonn.de> - Date: Sun, 23 Mar 1997 18:57:22 +0100 - Files: lib/Term/ReadLine.pm - - TESTS - - Title: "Reduce memory footprint of complex.t" - From: Dominic Dunlop <domo@slipper.ip.lu> - Msg-ID: <v03020902af5d8e03c5ab@[194.51.248.84]> - Date: Tue, 25 Mar 1997 15:39:26 +0100 - Files: t/lib/complex.t - - UTILITIES - - Title: "Improve pod2man diagnostic when NAME is invalid" - From: Chip Salzenberg - Files: pod/pod2man.PL - - DOCUMENTATION - - Title: "INSTALL-1.8 to INSTALL-1.9 updates" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970325135138.3374A-100000@fractal.lafayette.e - Date: Tue, 25 Mar 1997 13:52:53 -0500 (EST) - Files: INSTALL - - Title: "Document possible problems with -Mdiagnostics after upgrade" - From: Chip Salzenberg - Files: INSTALL - - Title: "Mention perldelta in INSTALL" - From: Chip Salzenberg - Files: INSTALL - - Title: "Describe pod format at top of INSTALL" - From: Chip Salzenberg - Files: INSTALL - - Title: "Document C</a *b/x> fix" - From: Chip Salzenberg - Files: pod/perldelta.pod - - Title: "pods for subroutine argument autovivication" - From: "M.J.T. Guy" - Msg-ID: <E0w9489-0005YT-00@ursa.cus.cam.ac.uk> - Date: Mon, 24 Mar 1997 07:25:21 +0000 - Files: pod/perldelta.pod pod/perlsub.pod - - Title: "Missing item in perldiag" - From: "M.J.T. Guy" - Msg-ID: <E0w8jVZ-0005va-00@ursa.cus.cam.ac.uk> - Date: Sun, 23 Mar 1997 09:24:09 +0000 - Files: pod/perldiag.pod - - Title: "Mention and discourage use of term 'soft reference'" - From: Chip Salzenberg - Files: pod/perlref.pod - - Title: "Pod problems & fixes" - From: Hallvard B Furuseth - Msg-ID: <199703242031.VAA14997@bombur2.uio.no> - Date: Mon, 24 Mar 1997 21:31:51 +0100 (MET) - Files: INSTALL lib/Term/Complete.pm lib/subs.pm pod/perlcall.pod - pod/perldata.pod pod/perldiag.pod pod/perlembed.pod - pod/perlguts.pod pod/perlmod.pod pod/perlop.pod - pod/perlpod.pod pod/pod2html.PL - - Title: "DB_File documentation fix" - From: Paul Marquess - Msg-ID: <9703240854.AA08401@claudius.bfsec.bt.co.uk> - Date: Mon, 24 Mar 97 08:54:16 GMT - Files: ext/DB_File/DB_File.pm - - Title: "FAQ update" - From: Nathan Torkington <gnat@prometheus.frii.com> - Files: pod/perlfaq*.pod - - ----------------- -Version 5.003_94 ----------------- - - CORE LANGUAGE CHANGES - - Title: "Defer creation of array and hash elements as parameters" - From: Chip Salzenberg - Files: dump.c global.sym mg.c op.c op.h perl.h pp.c pp_hot.c proto.h - sv.c - - Title: "New special literal: __PACKAGE__" - From: Chip Salzenberg - Files: keywords.pl pod/perldata.pod toke.c - - Title: "Ignore whitespace before +*? in //x" - From: Chip Salzenberg - Files: regcomp.c - - Title: "Abort compilation at C<BEGIN{}> or C<use> after errors" - From: Chip Salzenberg - Files: op.c pod/perldiag.pod t/pragma/subs.t - - Title: "allow C<substr 'hello', -10>" - From: David Dyck <dcd@tc.fluke.com> - Msg-ID: <97Mar10.155517pst.35716-2@gateway.fluke.com> - Date: Mon, 10 Mar 1997 15:55:44 -0800 - Files: pp.c - - Title: "Regularize C<x % y>, esp. when y is negative" - From: Chip Salzenberg - Files: pp.c - - Title: "Flush before C<flock(FOO, LOCK_UN)>" - From: Chip Salzenberg - Files: pod/perldelta.pod pod/perlfunc.pod pp_sys.c - - Title: "Close loopholes in prototype mismatch warning" - From: Chip Salzenberg - Files: op.c sv.c toke.c - - Title: "Warn on C<while ($x = each %y) {}>" - From: Chip Salzenberg - Files: op.c pod/perldiag.pod - - Title: "Don't warn on C<print $fh func()>" - From: Chip Salzenberg - Files: toke.c - - CORE PORTABILITY - - Title: "Don't say 'static var = 1'" - From: Jarkko Hietaniemi - Msg-ID: <199703091319.PAA24714@alpha.hut.fi> - Date: Sun, 9 Mar 1997 15:19:57 +0200 (EET) - Files: malloc.c - - Title: "BSD/OS 3.0 hints" - From: Christopher Davis <ckd@loiosh.kei.com> - Msg-ID: <w47mjakw5t.fsf@loiosh.kei.com> - Date: 14 Mar 1997 16:20:46 -0500 - Files: hints/bsdos.sh - - Title: "More MachTen hints" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.95q.970316133852.27997A-100000@kelly.teleport.com - Date: Sun, 16 Mar 1997 13:40:35 -0800 (PST) - Files: hints/machten_2.sh - - Title: "HP/UX hint comments" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970321153918.28770B-100000@fractal.lafayette. - Date: Fri, 21 Mar 1997 15:43:07 -0500 (EST) - Files: hints/hpux.sh - - Title: "VMS update" - From: Charles Bailey - Msg-ID: <1997Mar11.220056.1873182@hmivax.humgen.upenn.edu> - Date: Tue, 11 Mar 1997 22:00:55 -0500 (EST) - Files: lib/ExtUtils/MM_VMS.pm lib/Test/Harness.pm t/op/taint.t - utils/perlbug.PL vms/descrip.mms - - Title: "vmsish.t and related patches" - From: Charles Bailey - Msg-ID: <01IGQW3IP1KK005VFB@hmivax.humgen.upenn.edu> - Date: Fri, 21 Mar 1997 01:32:47 -0500 (EST) - Files: MANIFEST perl.h vms/descrip.mms vms/ext/vmsish.t vms/vms.c - - Title: "Win32 update (four patches)" - From: Gurusamy Sarathy and Nick Ing-Simmons - Files: MANIFEST README.win32 lib/AutoSplit.pm lib/Cwd.pm - lib/ExtUtils/Command.pm lib/ExtUtils/Install.pm - lib/ExtUtils/MM_OS2.pm lib/ExtUtils/MM_Unix.pm - lib/ExtUtils/MM_Win32.pm lib/ExtUtils/MakeMaker.pm - lib/ExtUtils/Mksymlists.pm lib/File/Basename.pm - lib/File/Path.pm mg.c t/comp/cpp.t t/comp/script.t t/harness - t/io/argv.t t/io/dup.t t/io/fs.t t/io/inplace.t - t/lib/filehand.t t/lib/io_dup.t t/lib/io_sel.t - t/lib/io_taint.t t/op/closure.t t/op/exec.t t/op/glob.t - t/op/goto.t t/op/magic.t t/op/misc.t t/op/rand.t - t/op/split.t t/op/stat.t t/op/sysio.t t/op/taint.t - t/pragma/strict.t t/pragma/subs.t t/pragma/warning.t util.c - win32/* - - OTHER CORE CHANGES - - Title: "Guard against buffer overflow in yyerror() and related funcs" - From: Chip Salzenberg - Files: toke.c - - Title: "For bin compat, rename calllist() and he_{,delay}free" - From: Chip Salzenberg - Files: global.sym hv.c op.c perl.c pod/perlguts.pod proto.h - - Title: "Fix C<print> on tied default handle" - From: Chip Salzenberg - Files: pp_hot.c - - Title: "Fix C<local($a, undef, $b) = (1,2,3)>" - From: Chip Salzenberg - Files: op.c - - Title: "Improve diagnostic on C<@a++>, C<--%a>, @a =~ s/a/b/" - From: Chip Salzenberg - Files: pp.c pp_hot.c - - Title: "Don't warn on C<$x{y} .= "z"> when %x is tied" - From: Chip Salzenberg - Files: pp_hot.c - - Title: "Eliminate 'unreachable code' warnings" - From: Chip Salzenberg - Files: ext/POSIX/POSIX.xs mg.c pp_ctl.c toke.c - - Title: "printf format corrections for -DDEBUGGING" - From: Roderick Schertler - Msg-ID: <26592.858793370@eeyore.ibcinc.com> - Date: Wed, 19 Mar 1997 12:42:50 -0500 - Files: doop.c malloc.c op.c pp_ctl.c regexec.c sv.c x2p/str.c - x2p/util.c - - Title: "Warn about missing -DMULTIPLICITY if likely a problem" - From: Doug MacEachern - Msg-ID: <199703192345.SAA15070@postman.osf.org> - Date: Wed, 19 Mar 1997 18:45:53 -0500 - Files: perl.c - - BUILD PROCESS - - Title: "Don't use $(LIBS) when creating shared libperl" - From: Chip Salzenberg - Files: Makefile.SH - - Title: "Don't use db 2.x, we're not yet ready for it" - From: Paul Marquess and Andy Dougherty - Files: Configure - - Title: "Warn if #! command is longer than 32 chars" - From: Chip Salzenberg - Files: Configure - - Title: "patches re perl -wc install{perl,man}" - From: Robin Barker <rmb1@cise.npl.co.uk> - Msg-ID: <21544.9703111313@tempest.cise.npl.co.uk> - Date: Tue, 11 Mar 97 13:13:16 GMT - Files: installman installperl - - Title: "3_93 doesn't install pods" - From: Spider Boardman - Msg-ID: <199703160721.CAA08339@Orb.Nashua.NH.US> - Date: Sun, 16 Mar 1997 02:21:35 -0500 - Files: installperl - - Title: "When installing, use File::Copy instead of `cp`" - From: Chip Salzenberg - Files: installperl - - Title: "Make hint files' warnings more visible" - From: Hallvard B Furuseth - Msg-ID: <199703202218.XAA09041@bombur2.uio.no> - Date: Thu, 20 Mar 1997 23:18:03 +0100 (MET) - Files: hints/3b1.sh hints/apollo.sh hints/cxux.sh hints/dcosx.sh - hints/dgux.sh hints/esix4.sh hints/freebsd.sh hints/hpux.sh - hints/irix_4.sh hints/mips.sh hints/next_3_0.sh hints/os2.sh - hints/qnx.sh hints/sco_2_3_3.sh hints/sco_2_3_4.sh - hints/solaris_2.sh hints/ultrix_4.sh hints/utekv.sh - - LIBRARY AND EXTENSIONS - - Title: "New module: autouse.pm" - From: Ilya Zakharevich - Msg-ID: <199703210034.TAA13469@monk.mps.ohio-state.edu> - Date: Thu, 20 Mar 1997 19:34:30 -0500 (EST) - Files: MANIFEST lib/autouse.pm - - Title: "Math::Complex update" - From: Jarkko Hietaniemi - Files: lib/Math/Complex.pm t/lib/complex.t - - Title: "Refresh DB_File to 1.12" - From: Paul Marquess - Msg-ID: <9703121551.AA07435@claudius.bfsec.bt.co.uk> - Date: Wed, 12 Mar 97 15:51:14 GMT - Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs - - Title: "New subroutine Symbol::qualify_to_ref()" - From: Roderick Schertler - Msg-ID: <pzlo7ut03b.fsf@eeyore.ibcinc.com> - Date: 11 Mar 1997 19:39:36 -0500 - Files: lib/Symbol.pm - - Title: "In debugger, don't reference %{$f{$g}} if $f{$g} doesn't exist" - From: Chip Salzenberg - Files: lib/perl5db.pl - - Title: "In File::Path, some systems can't remove read-only files" - From: Chip Salzenberg - Files: lib/File/Path.pm - - Title: "Fix typo in -l*perl* pattern" - From: Doug MacEachern - Msg-ID: <199703110414.XAA12884@berlin.atlantic.net> - Date: Mon, 10 Mar 1997 22:58:38 -0500 - Files: lib/ExtUtils/Embed.pm - - Title: "Fix bugs revealed by prototype warnings" - From: Chip Salzenberg - Files: ext/Opcode/Opcode.pm lib/ExtUtils/MakeMaker.pm - lib/Getopt/Long.pm - - Title: "Problems with SKIP in makemaker" - From: Ilya Zakharevich - Msg-ID: <199703210413.XAA21601@monk.mps.ohio-state.edu> - Date: Thu, 20 Mar 1997 23:13:31 -0500 (EST) - Files: lib/ExtUtils/MM_Unix.pm - - Title: "In Exporter, don't C<require Carp> at file scope" - From: Chip Salzenberg - Files: lib/Exporter.pm - - Title: "fix for Exporter's $SIG{__WARN__} handler" - From: Roderick Schertler - Msg-ID: <2282.858296451@eeyore.ibcinc.com> - Date: Thu, 13 Mar 1997 18:40:51 -0500 - Files: lib/Exporter.pm - - Title: "Don't try to substr() refs in Carp" - From: Chip Salzenberg - Files: lib/Carp.pm - - Title: "Re: NUL in die and other messages" - From: "M.J.T. Guy" - Msg-ID: <E0w815V-0005xs-00@ursa.cus.cam.ac.uk> - Date: Fri, 21 Mar 1997 09:58:17 +0000 - Files: lib/Carp.pm - - Title: "Add entry for prototype() in Pod::Functions" - From: Chip Salzenberg - Files: lib/Pod/Functions.pm - - Title: "Fix typos in IO::Socket documentation" - From: "M.J.T. Guy" - Msg-ID: <E0w75po-0003yh-00@taurus.cus.cam.ac.uk> - Date: Tue, 18 Mar 1997 20:50:16 +0000 - Files: ext/IO/lib/IO/Socket.pm - - TESTS - - (no other changes) - - UTILITIES - - Title: "Re: bug in pod2man (5.00326): section=3 for .pm modules" - From: Roderick Schertler - Msg-ID: <pzn2sat1hg.fsf@eeyore.ibcinc.com> - Date: 11 Mar 1997 19:09:31 -0500 - Files: pod/pod2man.PL - - DOCUMENTATION - - Title: "perlfaq.pod" - From: Tom Christiansen - Msg-ID: <199703172301.QAA12566@jhereg.perl.com> - Date: Mon, 17 Mar 1997 16:01:40 -0700 - Files: MANIFEST pod/Makefile pod/buildtoc pod/perl.pod - pod/perlfaq*.pod pod/roffitall - - Title: "*.pod changes based on the FAQ" - From: gnat@frii.com - Msg-ID: <199703171650.JAA02655@elara.frii.com> - Date: Mon, 17 Mar 1997 09:50:14 -0700 (MST) - Files: pod/perldata.pod pod/perlfunc.pod pod/perlipc.pod - pod/perlop.pod pod/perlre.pod pod/perlrun.pod - pod/perlsec.pod pod/perlvar.pod - - Title: "INSTALL: How to enable debugging" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970321112326.1414A-100000@fractal.lafayette.e - Date: Fri, 21 Mar 1997 11:25:32 -0500 (EST) - Files: INSTALL - - Title: "Document that $. is not reset on implicit open" - From: Chip Salzenberg - Files: pod/perldelta.pod - - Title: "Re: Embedding success with _93 " - From: Doug MacEachern - Msg-ID: <199703112255.RAA22775@postman.osf.org> - Date: Tue, 11 Mar 1997 17:55:05 -0500 - Files: pod/perldelta.pod - - Title: "Update site list" - From: lvirden@cas.org (Larry W. Virden, x2487) - Msg-ID: <9703111053.AA20051@cas.org> - Date: Tue, 11 Mar 1997 10:53:49 -0500 - Files: pod/perlmod.pod - - Title: "Patch to document illegal characters" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.96.970314090558.15346J-100000@kelly.teleport.com> - Date: Fri, 14 Mar 1997 09:08:10 -0800 (PST) - Files: pod/perldiag.pod pod/perltrap.pod - - Title: "Document trap with //o and closures" - From: Charles Bailey - Msg-ID: <01IGCHWRNSEU00661G@hmivax.humgen.upenn.edu> - Date: Mon, 10 Mar 1997 18:08:08 -0500 (EST) - Files: pod/perltrap.pod - - Title: "Re: Inline PI function" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.95q.970310143125.22489V-100000@kelly.teleport.com - Date: Mon, 10 Mar 1997 14:33:20 -0800 (PST) - Files: pod/perlsub.pod - - Title: "Illegal character in input" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.95q.970310151512.22489a-100000@kelly.teleport.com - Date: Mon, 10 Mar 1997 15:21:21 -0800 (PST) - Files: pod/perldiag.pod - - Title: "Patch for docs Re: Lost backslash" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.96.970319071438.24834G-100000@kelly.teleport.com> - Date: Wed, 19 Mar 1997 07:28:57 -0800 (PST) - Files: pod/perlop.pod - - Title: "XSUB's doc fix" - From: Roderick Schertler - Msg-ID: <28804.858012126@eeyore.ibcinc.com> - Date: Mon, 10 Mar 1997 11:42:06 -0500 - Files: pod/perlcall.pod pod/perlguts.pod pod/perlxstut.pod - - Title: "Document return from do FILE" - From: "M.J.T. Guy" - Msg-ID: <E0w70DK-0001yJ-00@ursa.cus.cam.ac.uk> - Date: Tue, 18 Mar 1997 14:50:10 +0000 - Files: pod/perlfunc.pod - - Title: "Document $^M in perlvar" - From: Robin Barker <rmb1@cise.npl.co.uk> - Msg-ID: <6153.9703202108@tempest.cise.npl.co.uk> - Date: Thu, 20 Mar 97 21:08:33 GMT - Files: pod/perlvar.pod - - Title: "typos in pods of 5.003_93" - From: Jim Meyering <meyering@asic.sc.ti.com> - Msg-ID: <wpgendbzvhx.fsf@asic.sc.ti.com> - Date: 19 Mar 1997 10:39:38 -0600 - Files: pod/perlfunc.pod pod/perlguts.pod pod/perlre.pod - pod/perltoot.pod pod/perlxs.pod - - Title: "Re: Updates to pod punctuations" - From: lvirden@cas.org (Larry W. Virden, x2487) - Msg-ID: <9703141700.AA22911@cas.org> - Date: Fri, 14 Mar 1997 17:00:12 -0500 - Files: pod/*.pod - - Title: "clarify example in perlfunc" - From: Jarkko Hietaniemi - Msg-ID: <199703201746.TAA25195@alpha.hut.fi> - Date: Thu, 20 Mar 1997 19:46:01 +0200 (EET) - Files: pod/perlfunc.pod - - Title: "Regularize headings in DB_File documentation" - From: Chip Salzenberg - Files: ext/DB_File/DB_File.pm - - ----------------- -Version 5.003_93 ----------------- - -Me, last time: - "This release will be the public beta of 5.004, - or my name isn't Larson T. Pettifogger." -Me, now: - "Gone like *that*, a fortune in letterhead." - - CORE LANGUAGE CHANGES - - Title: "Don't autovivify array and hash elements in sub parameters" - From: Gurusamy Sarathy - Msg-ID: <199703061912.OAA20606@aatma.engin.umich.edu> - Date: Thu, 06 Mar 1997 14:12:09 -0500 - Files: op.c pod/perldelta.pod pod/perlsub.pod pod/perltrap.pod - - Title: "Support READ and GETC for tied handles" - From: Doug MacEachern - Msg-ID: <199703090019.TAA32591@postman.osf.org> - Date: Sat, 08 Mar 1997 19:19:38 -0500 - Files: pod/perldelta.pod pod/perltie.pod pp_sys.c t/op/misc.t - - Title: "Warn on C<@x =~ /a/> and C<%x =~ s/a/b/>" - From: Chip Salzenberg - Files: op.c pod/perldiag.pod - - Title: "Warn on %{+undef} and @{+undef}" - From: Chip Salzenberg - Files: pp.c pp_hot.c - - CORE PORTABILITY - - Title: "VMS update" - From: Charles Bailey - Msg-ID: <01IG8KN5R28M00661G@hmivax.humgen.upenn.edu> - Date: Fri, 07 Mar 1997 22:49:46 -0500 (EST) - Files: lib/ExtUtils/MM_VMS.pm vms/descrip.mms vms/gen_shrfls.pl - vms/sockadapt.h - - Title: "AmigaOS hint patch" - From: Norbert Pueschel - Msg-ID: <77724767@Armageddon.meb.uni-bonn.de> - Date: Sat, 08 Mar 1997 12:50:15 +0100 - Files: hints/amigaos.sh - - OTHER CORE CHANGES - - Title: "Make conversion of @_ to real array work right after C<shift>" - From: Chip Salzenberg - Files: av.c - - Title: "Fix imbalanced ENTER/LEAVE from C<BEGIN{die}>" - From: Chip Salzenberg - Files: op.c perl.c proto.h - - Title: "perl -P path patch" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970308120242.23766D-100000@fractal.lafayette. - Date: Sat, 08 Mar 1997 12:45:08 -0500 (EST) - Files: config_H config_h.SH perl.c plan9/config.plan9 t/comp/cpp.t - vms/config.vms win32/config.H - - BUILD PROCESS - - Title: "Fix for Unisys UNIX and libperl.so" - From: aburlison@cix.compulink.co.uk (Alan Burlison) - Msg-ID: <memo.147328@cix.compulink.co.uk> - Date: Thu, 6 Mar 97 16:28 GMT0 - Files: Configure - - Title: "Allow './Configure -Uoptimize'" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970306110532.11070A-100000@fractal.lafayette. - Date: Thu, 06 Mar 1997 11:15:47 -0500 (EST) - Files: Configure - - Title: "Use 'test -f', not 'test -x'" - From: Spider Boardman - Msg-ID: <199703080053.TAA13943@web.zk3.dec.com> - Date: Fri, 7 Mar 1997 19:53:00 -0500 - Files: Configure - - Title: "Don't count on 'trap 0' inside () in shell script" - From: aburlison@cix.compulink.co.uk (Alan Burlison) - Msg-ID: <memo.147326@cix.compulink.co.uk> - Date: Thu, 6 Mar 97 16:28 GMT0 - Files: perl_exp.SH - - LIBRARY AND EXTENSIONS - - Title: "Carp with multiple arguments" - From: "M.J.T. Guy" - Msg-ID: <E0w3STZ-0007RW-00@taurus.cus.cam.ac.uk> - Date: Sat, 8 Mar 1997 20:12:17 +0000 - Files: lib/Carp.pm - - Title: "@EXPORT_FAIL fix for Exporter.pm" - From: Roderick Schertler - Msg-ID: <24884.857841724@eeyore.ibcinc.com> - Date: Sat, 08 Mar 1997 12:22:04 -0500 - Files: lib/Exporter.pm - - Title: "Open[23] autoflush docs" - From: Roderick Schertler - Msg-ID: <7939.857693947@eeyore.ibcinc.com> - Date: Thu, 06 Mar 1997 19:19:07 -0500 - Files: lib/IPC/Open2.pm lib/IPC/Open3.pm - - TESTS - - Title: "Fix counts in output of TEST" - From: Hugo van der Sanden <hv@iii.co.uk> - Msg-ID: <331F1507.4BE8@iii.co.uk> - Date: Thu, 06 Mar 1997 19:03:35 +0000 - Files: t/TEST - - Title: "Ignore backup files in strict.t and warning.t" - From: Chip Salzenberg - Files: t/pragma/strict.t t/pragma/warning.t - - UTILITIES - - Title: "Quote pathname before using as pattern" - From: Chip Salzenberg - Files: pod/pod2html.PL - - DOCUMENTATION - - Title: "Consolidated INSTALL updates since _92" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970308131806.23766F-100000@fractal.lafayette. - Date: Sat, 08 Mar 1997 13:21:22 -0500 (EST) - - Title: "Fix more E-Mail addresses in pods" - From: Chip Salzenberg - Files: lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Manifest.pm - lib/diagnostics.pm pod/buildtoc - - Title: "Warn about '.' terminating E-Mail" - From: Chip Salzenberg - Files: pod/perlform.pod - - Title: "OS/2 doc update" - From: Ilya Zakharevich - Msg-ID: <199703080537.AAA25157@monk.mps.ohio-state.edu> - Date: Sat, 8 Mar 1997 00:37:30 -0500 (EST) - Files: README.os2 - - Title: "PODs corrections" - From: Ilya Zakharevich - Msg-ID: <199703080253.VAA24975@monk.mps.ohio-state.edu> - Date: Fri, 7 Mar 1997 21:53:04 -0500 (EST) - Files: ext/DB_File/DB_File.pm ext/Socket/Socket.pm - lib/Class/Template.pm lib/ExtUtils/Embed.pm - lib/ExtUtils/MM_VMS.pm lib/ExtUtils/Mksymlists.pm - lib/File/Basename.pm lib/File/stat.pm lib/Time/gmtime.pm - lib/Time/localtime.pm lib/Time/tm.pm lib/User/grent.pm - lib/User/pwent.pm pod/perlcall.pod pod/perldebug.pod - pod/perlfunc.pod pod/perlguts.pod pod/perllocale.pod - pod/perlop.pod pod/perlsub.pod - - ----------------- -Version 5.003_92 ----------------- - -This release will be the public beta of 5.004, or my name isn't -Larson T. Pettifogger. - - CORE LANGUAGE CHANGES - - Title: "Strictly follow lexical context of C<eval ''> and nested subs" - From: Chip Salzenberg - Files: op.c - - Title: "Make ::SUPER and UNIVERSAL work together" - From: Chip Salzenberg - Files: gv.c pod/perlguts.pod - - CORE PORTABILITY - - Title: "HP-UX hint update" - From: Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com> - Msg-ID: <1479.857653838@lyon.grenoble.hp.com> - Date: Thu, 06 Mar 97 14:10:38 +0100 - Files: hints/hpux.sh - - Title: "Re: The continuing MachTen saga" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.95q.970305091611.3572E-100000@kelly.teleport.com> - Date: Wed, 5 Mar 1997 09:47:22 -0800 (PST) - Files: hints/machten_2.sh - - Title: "OS/2 patches" - From: Ilya Zakharevich - Msg-ID: <199703060308.WAA22211@monk.mps.ohio-state.edu> - Date: Wed, 5 Mar 1997 22:08:43 -0500 (EST) - Files: hints/os2.sh lib/ExtUtils/MakeMaker.pm t/op/taint.t - - Title: "VMS patches" - From: Charles Bailey - Msg-ID: <01IG5SQE4A6U00661G@hmivax.humgen.upenn.edu> - Date: Wed, 05 Mar 1997 23:10:24 -0500 (EST) - Files: lib/ExtUtils/MM_VMS.pm lib/ExtUtils/Manifest.pm perlsdio.h - t/op/runlevel.t t/op/taint.t vms/descrip.mms vms/perly_c.vms - vms/sockadapt.c vms/sockadapt.h vms/vms_yfix.pl - - OTHER CORE CHANGES - - Title: "Make sure $^X is tainted when ARG_ZERO_IS_SCRIPT" - From: Chip Salzenberg - Files: toke.c - - Title: "Clarify '-T too late' error" - From: Chip Salzenberg - Files: perl.c pod/perldiag.pod - - Title: "Warn when redefining or undefining a constant sub" - From: Chip Salzenberg - Files: pod/perldiag.pod pp.c sv.c - - Title: "Don't generate spurious 'not imported' warning" - From: Chip Salzenberg - Files: gv.c t/pragma/strict-vars pod/perldiag.pod - - Title: "Clarify message re: @host in string" - From: Chip Salzenberg - Files: pod/perldiag.pod pod/perltrap.pod toke.c - - Title: "Disconnect refs that are targets of pp_readline" - From: Chip Salzenberg - Files: pp_hot.c - - Title: "Fix typo in test of HvFILL()" - From: Chip Salzenberg - Files: op.c - - Title: "Allow for pad name array to be shorter than pad array" - From: Chip Salzenberg - Files: op.c - - Title: "Eliminate format-string type warnings" - From: Hallvard B Furuseth - Msg-ID: <199703030915.KAA11634@bombur2.uio.no> - Date: Mon, 3 Mar 1997 10:15:11 +0100 (MET) - Files: doio.c ext/POSIX/POSIX.xs gv.c hints/dec_osf.sh pp.c pp_ctl.c - pp_hot.c run.c sv.c x2p/a2py.c - - Title: "Update copyright dates" - From: Chip Salzenberg - Files: *.[hc] x2p/*.[hc] win32/EXTERN.h vms/vmsish.h vms/vms.c - - BUILD PROCESS - - Title: "near-harmless bug in _91's Configure" - From: Roderick Schertler - Msg-ID: <pzg1yfuiza.fsf@eeyore.ibcinc.com> - Date: 01 Mar 1997 21:26:49 -0500 - Files: Configure - - Title: "Change 'continuing anyway' to 'probably harmless'" - From: Chip Salzenberg - Files: INSTALL lib/ExtUtils/Liblist.pm - - LIBRARY AND EXTENSIONS - - Title: "Newer ReadLine" - From: Ilya Zakharevich - Msg-ID: <199703040634.BAA19919@monk.mps.ohio-state.edu> - Date: Tue, 4 Mar 1997 01:34:28 -0500 (EST) - Files: lib/Term/ReadLine.pm lib/perl5db.pl - - Title: "Refresh Getopt::Long to 2.9" - From: Johan Vromans <jvromans@squirrel.nl> - Files: lib/Getopt/Long.pm - - Title: "Benchmark: using code refs" - From: Hugo van der Sanden <hv@iii.co.uk> - Msg-ID: <199703041132.LAA07613@tyree.iii.co.uk> - Date: Tue, 04 Mar 1997 11:32:11 +0000 - Files: lib/Benchmark.pm - - Title: "Fix quotewords" - From: Hugo van der Sanden <hv@crypt.compulink.co.uk> - Msg-ID: <199703060755.HAA15060@crypt.compulink.co.uk> - Date: Thu, 06 Mar 1997 07:55:25 +0000 - Files: lib/Text/ParseWords.pm - - Title: "Use IV instead of double for tms structure members" - From: Chip Salzenberg - Files: ext/POSIX/POSIX.xs - - Title: "Document IO::File::new_tmpfile" - From: Chip Salzenberg - Files: ext/IO/lib/IO/File.pm - - TESTS - - Title: "Make op/TEST silent under -w" - From: d-lewart@uiuc.edu (Daniel S. Lewart) - Msg-ID: <199703011821.NAA13037@sinistar.idle.com> - Date: Sat, 1 Mar 97 12:04:09 CST - Files: t/TEST - - Title: "Smarter t/op/taint.t" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.95q.970303103047.24000A-100000@kelly.teleport.com - Date: Mon, 3 Mar 1997 10:31:54 -0800 (PST) - Files: t/op/taint.t - - Title: "Fix taint test for systems without csh" - From: Chip Salzenberg - Files: t/op/taint.t - - Title: "Don't test locales if there is no setlocale()" - From: Chip Salzenberg - Files: t/pragma/locale.t - - UTILITIES - - Title: "Update pod2html" - From: wmiddlet@Adobe.COM (William Middleton) - Msg-ID: <199703030025.QAA08106@ducks> - Date: Sun, 2 Mar 1997 16:25:03 -0800 (PST) - Files: pod/pod2html.PL - - Title: "Support 'long long' in h2ph" - From: (name lost) - Files: utils/h2ph.PL - - DOCUMENTATION - - Title: "Add taint checks and srand to perldelta" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.95q.970302115355.23058D-100000@kelly.teleport.com - Date: Sun, 2 Mar 1997 11:56:08 -0800 (PST) - Files: pod/perldelta.pod - - Title: "Don't call FileHandle 'deprecated'" - From: Chip Salzenberg - Files: pod/perldelta.pod - - Title: "Improve sample module header" - From: Tom Christiansen and Graham Barr - Msg-ID: <199703011732.KAA14693@jhereg.perl.com> - Date: Sat, 01 Mar 1997 10:32:31 -0700 - Files: pod/perlmod.pod - - Title: "Clarify C<crypt> documentation" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.95q.970228131112.12357D-100000@kelly.teleport.com - Date: Fri, 28 Feb 1997 13:18:25 -0800 (PST) - Files: pod/perlfunc.pod - - Title: "Update list of CPAN sites" - From: Jarkko Hietaniemi - Msg-ID: <199703021454.QAA07446@alpha.hut.fi> - Date: Sun, 2 Mar 1997 16:54:22 +0200 (EET) - Files: pod/perlmod.pod - - Title: "Enhance description of 'server error'" - From: Jarkko Hietaniemi - Msg-ID: <199702041903.VAA16070@alpha.hut.fi> - Date: Tue, 4 Feb 1997 21:03:23 +0200 (EET) - Files: pod/perldiag.pod - - Title: "Regularize format of E-Mail addresses in *.pod" - From: Chip Salzenberg - Files: pod/*.pod - - ----------------- -Version 5.003_91 ----------------- - -This is (should be? must be!) the public beta of 5.004. - - CORE LANGUAGE CHANGES - - Title: "Fix perl_call_*() when !G_EVAL" - From: Gurusamy Sarathy - Msg-ID: <199702250725.CAA09192@aatma.engin.umich.edu>, - <199702251925.OAA15498@aatma.engin.umich.edu>, - <199702252200.RAA16853@aatma.engin.umich.edu> - Date: Tue, 25 Feb 1997 02:25:56 -0500 - Files: MANIFEST gv.c interp.sym perl.c perl.h pp_ctl.c pp_sys.c - t/op/runlevel.t - - Title: "Fix taint tests for writeable dirs in $ENV{PATH}" - From: Chip Salzenberg - Files: mg.c mg.h pod/perlsec.pod taint.c - - Title: "Forbid tainted parameters for truncate()" - From: Chip Salzenberg - Files: pp_sys.c - - Title: "Don't taint magic hash keys unnecessarily" - From: Charles Bailey - Msg-ID: <01IFXL9TY74Y00661G@hmivax.humgen.upenn.edu> - Date: Fri, 28 Feb 1997 02:11:26 -0500 (EST) - Files: hv.c - - CORE PORTABILITY - - Title: "VMS patches post _90" - From: Charles Bailey - Msg-ID: <01IFYDE5ZT7O005A53@hmivax.humgen.upenn.edu> - Date: Fri, 28 Feb 1997 15:26:33 -0500 (EST) - Files: doio.c mg.c perl.h pp_hot.c t/op/rand.t t/op/taint.t taint.c - vms/descrip.mms vms/vms.c - - Title: "Fix taint check in system() and exec() under VMS and OS/2" - From: Chip Salzenberg - Files: pp_sys.c - - Title: "If _XOPEN_VERSION >= 4, socket length parameters are size_t" - From: Michael H. Moran <mhm@austin.ibm.com> - Files: perl.h pp_sys.c - - Title: "Make dooneliner() compile again" - From: Chip Salzenberg - Files: pp_sys.c - - OTHER CORE CHANGES - - Title: "Short-circuit duplicate study() calls" - From: Chip Salzenberg - Files: pp.c - - Title: "Call sv_set[iu]v() with [IU]V parameter, not [IU]32" - From: Chip Salzenberg - Files: perl.c pp.c pp_sys.c toke.c util.c - - Title: "Clean up and document API for hashes" - From: Gurusamy Sarathy - Msg-ID: <199702251824.NAA14859@aatma.engin.umich.edu> - Date: Tue, 25 Feb 1997 13:24:02 -0500 - Files: hv.c hv.h pod/perldelta.pod pod/perlguts.pod - - Title: "pp_undef was not always freeing memory" - From: Ilya Zakharevich - Msg-ID: <199702270653.BAA13949@monk.mps.ohio-state.edu> - Date: Thu, 27 Feb 1997 01:53:51 -0500 (EST) - Files: pp.c - - Title: "Fix SEGV when debugging with foreach() lvalue patch" - From: Ilya Zakharevich - Msg-ID: <199702271924.OAA14557@monk.mps.ohio-state.edu> - Date: Thu, 27 Feb 1997 14:24:36 -0500 (EST) - Files: sv.c - - Title: "Don't examine rx->exec_tainted if pregexec() fails" - From: Chip Salzenberg - Files: pp_hot.c - - Title: "Silence bogus typo warning on $DB::postponed" - From: Gurusamy Sarathy - Msg-ID: <199702271802.NAA12505@aatma.engin.umich.edu> - Date: Thu, 27 Feb 1997 13:02:30 -0500 - Files: op.c - - BUILD PROCESS - - Title: "Sanity check linking with $libs" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970225221634.2486A-100000@fractal.lafayette.edu> - Date: Tue, 25 Feb 1997 14:13:45 -0500 (EST) - Files: Configure - - Title: "Flush stdout when printing $randbits guess" - From: Chip Salzenberg - Files: Configure - - Title: "Configure changes for Irix nm" - From: Helmut Jarausch and Fabien Tassin - Files: Configure - - Title: "Update OS/2 Configure diff" - From: Ilya Zakharevich - Msg-ID: <199702251906.OAA10608@monk.mps.ohio-state.edu> - Date: Tue, 25 Feb 1997 14:06:23 -0500 (EST) - Files: os2/diff.configure - - LIBRARY AND EXTENSIONS - - Title: "Don't require() in a signal handler" - From: Chip Salzenberg - Files: lib/perl5db.pl - - Title: "Make IPC::Open3 work without fork()" - From: Ilya Zakharevich - Msg-ID: <199702251937.OAA10718@monk.mps.ohio-state.edu> - Date: Tue, 25 Feb 1997 14:37:07 -0500 (EST) - Files: lib/IPC/Open3.pm - - Title: "Follow up on elimination of $` $& $' in libraries" - From: "M.J.T. Guy" - Msg-ID: <E0w0Sqc-00046E-00@ursa.cus.cam.ac.uk> - Date: Fri, 28 Feb 1997 13:59:42 +0000 - Files: lib/Getopt/Long.pm lib/diagnostics.pm - - Title: "Don't warn on use of CCFLAGS" - From: Andreas Koenig - Msg-ID: <199702251038.LAA13123@anna.in-berlin.de> - Date: Tue, 25 Feb 1997 11:38:43 +0100 - Files: lib/ExtUtils/MakeMaker.pm - - Title: "Allow explicit '-lperl' in link arguments" - From: Doug MacEachern - Msg-ID: <199702271625.LAA25402@postman.osf.org> - Date: Thu, 27 Feb 1997 11:25:04 -0500 - Files: lib/ExtUtils/Embed.pm - - TESTS - - Title: "New test op/taint.t" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.95q.970225101328.18288M-100000@kelly.teleport.com - Date: Tue, 25 Feb 1997 11:36:53 -0800 (PST) - Files: MANIFEST t/op/taint.t - - Title: "Patch to t/op/rand.t" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.95q.970225181321.13796Q-100000@kelly.teleport.com - Date: Tue, 25 Feb 1997 18:19:34 -0800 (PST) - Files: t/op/rand.t - - UTILITIES - - Title: "Add --lax option to pod2man; use it in perldoc" - From: Nat <gnat@frii.com>, Chip Salzenberg - Files: pod/pod2man.PL utils/perldoc.PL - - Title: "Eliminate dead code in pod2man" - From: Chip Salzenberg - Files: pod/pod2man.PL - - DOCUMENTATION - - Title: "Warn about intrusive sfio behavior" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970228112136.24038G-100000@fractal.lafayette. - Date: Fri, 28 Feb 1997 11:35:49 -0500 (EST) - Files: INSTALL - - Title: "Updates to perlfunc.pod" - From: Tom Phoenix (with help from M.J.T. Guy and Tom C.) - Files: pod/perlfunc.pod - - Title: "Move ENVIRONMENT from perl.pod to perlrun.pod" - From: Chip Salzenberg - Files: pod/perl.pod pod/perlrun.pod - - Title: "Describe PERL_DEBUG_MSTATS in perlrun.pod" - From: Nat <gnat@frii.com> - Files: pod/perlrun.pod - - Title: "Fix references to perlbug" - From: Chip Salzenberg - Files: pod/perl.pod pod/perldelta.pod pod/perllocale.pod - pod/perltoc.pod - - ----------------- -Version 5.003_90 ----------------- - -At last, a mil[le]stone: The first beta of Perl 5.004. - - CORE LANGUAGE CHANGES - - Title: "Automatically call srand() before rand() if user didn't" - From: Chip Salzenberg - Files: pod/perlfunc.pod pp.c - - CORE PORTABILITY - - Title: "Ultrix hints" - From: Spider Boardman - Msg-ID: <199702220951.EAA08156@Orb.Nashua.NH.US> - Date: Sat, 22 Feb 1997 04:51:48 -0500 - Files: hints/ultrix_4.sh - - Title: "Digital UNIX and 3_28" - From: Jarkko Hietaniemi - Msg-ID: <199702231427.QAA13807@alpha.hut.fi> - Date: Sun, 23 Feb 1997 16:27:19 +0200 (EET) - Files: Configure MANIFEST ext/NDBM_File/hints/dec_osf.pl - ext/ODBM_File/hints/dec_osf.pl hints/dec_osf.sh - - Title: "AmigaOS patches to 5.003_28" - From: Norbert Pueschel - Msg-ID: <77724759@Armageddon.meb.uni-bonn.de> - Date: Sat, 22 Feb 1997 18:08:02 +0100 - Files: README.amiga hints/amigaos.sh t/io/fs.t 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/magic.t t/op/stat.t - - Title: "Hints for DC/OSx" - From: Stephen Zander <srz@loopback> - Msg-ID: <199702242124.NAA03796@wsuse5.mckesson.com> - Date: Mon, 24 Feb 1997 13:24:54 -0800 - Files: hints/dcosx.sh - - Title: "Update VMS version" - From: Chip Salzenberg - Files: vms/config.vms vms/descrip.mms - - OTHER CORE CHANGES - - Title: "Don't assume that sizeof(int) >= sizeof(void*)" - From: Chip Salzenberg - Files: doio.c malloc.c regexec.c - - BUILD PROCESS - - Title: "Re: ccdlflags don't quite work" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970224160630.5700E-100000@fractal.lafayette.e - Date: Mon, 24 Feb 1997 16:07:07 -0500 (EST) - Files: Configure - - Title: "Use $ccflags, $ldflags, $libs when determining $randbits" - From: Chip Salzenberg - Files: Configure - - Title: "'installperl -v' doesn't do enough" - From: Spider Boardman - Msg-ID: <199702241342.IAA25945@Orb.Nashua.NH.US> - Date: Mon, 24 Feb 1997 08:42:59 -0500 - Files: installperl - - Title: "installperl breaks running system (for a while)" - From: Spider Boardman - Msg-ID: <199702241412.JAA11829@Orb.Nashua.NH.US> - Date: Mon, 24 Feb 1997 09:12:11 -0500 - Files: installperl - - LIBRARY AND EXTENSIONS - - Title: "Don't clobber $1 et al in debugger's DB::sub()" - From: Ilya Zakharevich - Files: lib/perl5db.pl - - Title: "Fix fd leak in IO::Pipe" - From: Roderick Schertler - Msg-ID: <pzn2sv722y.fsf@eeyore.ibcinc.com> - Date: 23 Feb 1997 14:29:57 -0500 - Files: ext/IO/lib/IO/Pipe.pm - - Title: "Pod::Text fixes" - From: Roderick Schertler - Msg-ID: <350.856634588@eeyore.ibcinc.com> - Date: Sat, 22 Feb 1997 13:03:08 -0500 - Files: lib/Pod/Text.pm - - Title: "Trivial patch to make ExtUtils::Install more -w clean" - From: Tim Bunce - Msg-ID: <9702241605.AA17436@toad.ig.co.uk> - Date: Mon, 24 Feb 1997 16:05:17 +0000 - Files: lib/ExtUtils/Install.pm - - Title: "C<use vars> didn't work until 5.002" - From: Chip Salzenberg - Files: lib/vars.pm - - TESTS - - Title: "More thoroughly test rand() and srand()" - From: Tom Phoenix - Files: t/op/rand.t - - Title: "Don't use <*> where readdir() will do" - From: Chip Salzenberg - Files: t/op/stat.t - - Title: "Allow for $^X to be 'miniperl'" - From: Dominic Dunlop <domo@slipper.ip.lu> - Msg-ID: <v03020903af360f31aced@[194.51.248.65]> - Date: Sun, 23 Feb 1997 16:22:45 +0100 - Files: t/op/magic.t - - UTILITIES - - Title: "Post-28 INSTALL updates" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970224170713.5700H-100000@fractal.lafayette.e - Date: Mon, 24 Feb 1997 17:09:09 -0500 (EST) - Files: INSTALL - - Title: "Re: Hash key created by subroutine call? (fwd) " - From: Gurusamy Sarathy - Msg-ID: <199702242229.RAA04395@aatma.engin.umich.edu> - Date: Mon, 24 Feb 1997 17:29:30 -0500 - Files: pod/perlsub.pod pod/perltrap.pod - - Title: "Add documentation and '-h' option to perlbug" - From: Gurusamy Sarathy - Msg-ID: <199702240854.DAA27128@aatma.engin.umich.edu> - and <199702242009.PAA02849@aatma.engin.umich.edu> - Date: Mon, 24 Feb 1997 - Files: pod/perl.pod pod/perldelta.pod installman - utils/perlbug.PL - - Title: "pumpkin-1.9.pod" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970224155702.5700D-100000@fractal.lafayette.e - Date: Mon, 24 Feb 1997 16:06:02 -0500 (EST) - Files: Porting/pumpkin.pod - - DOCUMENTATION - - Title: "Fix typo in 'Tolkien quotation typo' fix" - From: Jarkko Hietaniemi - Files: Changes - - Title: "Document one-argument limitation with #! line" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.95q.970223182745.15989A-100000@kelly.teleport.com - Date: Sun, 23 Feb 1997 18:41:02 -0800 (PST) - Files: pod/perldiag.pod pod/perlsec.pod - - ----------------- -Version 5.003_28 ----------------- - -This release is beta candidate #6. If this isn't good enough to go beta, -I'll eat a floppy disk. (Okay, it's a chocolate floppy, but still....) - - CORE LANGUAGE CHANGES - - Title: "Don't let C<sub foo;> undefine &foo" - From: Chip Salzenberg - Files: op.c - - Title: "Make code, doc agree on $ENV{PATH} and `cmd`" - From: Chip Salzenberg - Files: pod/perlsec.pod pp_sys.c - - Title: "Don't taint $x in C<$x = ($tainted =~ /(\w+)/)>" - From: Chip Salzenberg - Files: pp_ctl.c pp_hot.c - - Title: "Turn off 'expression tainted' flag at end of runops()" - From: Chip Salzenberg - Files: run.c - - Title: "When overloading, don't throw away nomethod's value" - From: Ilya Zakharevich - Files: gv.c - - Title: "Optimize keys() and values() in void context" - From: Chip Salzenberg - Files: doop.c op.c - - CORE PORTABILITY - - Title: "New hints for Digital UNIX" - From: Jarkko Hietaniemi - Files: hints/dec_osf.sh - - Title: "No version of AIX has working setre[ug]id()" - From: neufeld@fast.pvi.org (Keith Neufeld) - Files: hints/aix.sh - - Title: "VMS patches post _27" - From: Charles Bailey - Msg-ID: <01IFMEMPN1IU0057E2@hmivax.humgen.upenn.edu> - Date: Thu, 20 Feb 1997 01:58:46 -0500 (EST) - Files: MANIFEST dosish.h hv.c lib/ExtUtils/MM_VMS.pm - lib/ExtUtils/xsubpp perl.c perlsdio.h pod/perldelta.pod - pod/perlvar.pod t/op/closure.t unixish.h vms/Makefile - vms/descrip.mms vms/ext/filespec.t vms/genconfig.pl - vms/vms.c vms/vmsish.h - - Title: "Re: OS/2 patch for _27" - From: Ilya Zakharevich - Msg-ID: <199702210024.TAA03174@monk.mps.ohio-state.edu> - Date: Thu, 20 Feb 1997 19:24:16 -0500 (EST) - Files: INSTALL README.os2 lib/Test/Harness.pm os2/Changes - os2/OS2/PrfDB/t/os2_prfdb.t os2/os2.c os2/os2ish.h - os2/perl2cmd.pl perl.c pod/perldelta.pod t/TEST t/harness - t/op/magic.t - - OTHER CORE CHANGES - - Title: "Fix a typo" - From: Chip Salzenberg - Files: pp_sys.c - - Title: "Undo signal patch -- it broke die() in signal" - From: Chip Salzenberg - Files: mg.c - - Title: "Fix perl_call_sv(..., G_NOARGS)" - From: Chip Salzenberg - Files: perl.c - - Title: "Fix SIGSEGV when cloning sub with complex expression" - From: Chip Salzenberg - Files: op.c - - Title: "Minor update to malloc.c" - From: Ilya Zakharevich - Msg-ID: <199702210244.VAA03676@monk.mps.ohio-state.edu> - Date: Thu, 20 Feb 1997 21:44:13 -0500 (EST) - Files: malloc.c - - Title: "Fix the Tolkien quotation" - From: Chip Salzenberg - Files: perly.y - - BUILD PROCESS - - (no changes) - - LIBRARY AND EXTENSIONS - - Title: "Debugger patch" - From: Ilya Zakharevich - Msg-ID: <199702210737.CAA03951@monk.mps.ohio-state.edu> - Date: Fri, 21 Feb 1997 02:37:59 -0500 (EST) - Files: lib/perl5db.pl - - Title: "Avoid $` $& $' in libraries" - From: Ilya Zakharevich - Msg-ID: <199702210207.VAA03560@monk.mps.ohio-state.edu> - Date: Thu, 20 Feb 1997 21:07:30 -0500 (EST) - Files: lib/Getopt/Long.pm lib/Pod/Text.pm lib/diagnostics.pm - os2/OS2/REXX/REXX.pm - - Title: "Remove redundant clearerr() from IO::Seekable" - From: Chip Salzenberg - Files: ext/IO/lib/IO/Handle.pm ext/IO/lib/IO/Seekable.pm - - Title: "prototype error in File::stat" - From: Graham.Barr@tiuk.ti.com - Msg-ID: <199702180748.HAA14151@ultra-boy> - Date: Tue, 18 Feb 1997 07:48:40 GMT - Files: lib/File/stat.pm - - TESTS - - Title: "Include 'study' in regexp.t" - From: Chip Salzenberg - Files: t/op/regexp.t - - Title: "Don't run locale test if -DNO_LOCALE" - From: Chip Salzenberg - Files: t/pragma/locale.t - - Title: "Tweak tests to notice $dont_use_nlink" - From: Chip Salzenberg - Files: t/io/fs.t t/op/stat.t - - Title: "Add test for grep() and wantarray" - From: Hugo van der Sanden <hv@iii.co.uk> - Msg-ID: <199702181105.LAA17895@tyree.iii.co.uk> - Date: Tue, 18 Feb 1997 11:05:59 +0000 - Files: t/op/misc.t - - UTILITIES - - (no changes) - - DOCUMENTATION - - Title: "INSTALL updates since _26" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95q.970218155815.2014F-100000@fractal.lafayette.e - Date: Tue, 18 Feb 1997 16:00:08 -0500 (EST) - Files: INSTALL - - Title: "Document "$$0" change" - From: Chip Salzenberg - Files: pod/perldelta.pod - - Title: "Don't recommend impossible //o for C<$x =~ $y>" - From: Chip Salzenberg - Files: pod/perlop.pod - - Title: "Correct doc that claimed that <FH> was never false" - From: Chip Salzenberg - Files: pod/perldelta.pod pod/perlop.pod - - Title: "Document C<$?> vs. $SIG{CHLD}" - From: Ulrich Pfeifer - Files: pod/perlvar.pod - - Title: "Add pumpkin.pod" - From: Chip Salzenberg - Files: MANIFEST Porting/pumpkin.pod - - Title: "Don't say "associat*ve arr*y"" - From: Chip Salzenberg - Files: MANIFEST gv.h hv.c lib/Env.pm lib/overload.pm opcode.pl - pod/perl.pod pod/perldelta.pod pod/perldiag.pod - pod/perlfunc.pod pod/perlguts.pod pod/perlmod.pod - pod/perltie.pod pod/perltoc.pod pod/perltrap.pod x2p/a2p.pod - - ----------------- -Version 5.003_27 ----------------- - -This release is beta candidate #5: Our last, best hope for a beta. - - CORE LANGUAGE CHANGES - - Title: "Better looks_like_number() function [sv.c]" - From: Gisle Aas - Msg-ID: <199702141708.SAA17546@bergen.sn.no> - Date: Fri, 14 Feb 1997 18:08:52 +0100 - Files: sv.c - - Title: "Remove redundant functions UNIVERSAL::{class,is_instance}" - From: Gisle Aas - Msg-ID: <hwwsbpeq2.fsf@bergen.sn.no> - Date: 14 Feb 1997 15:52:21 +0000 - Files: pod/perldelta.pod pod/perlobj.pod t/op/universal.t universal.c - - Title: "Allow C<setpgrp $$>" - From: Roderick Schertler - Msg-ID: <pzraigyshr.fsf@eeyore.ibcinc.com> - Date: 16 Feb 1997 23:19:12 -0500 - Files: pp_sys.c - - Title: "Fix syntax error on C<&$1>" - From: Chip Salzenberg - Files: toke.c - - Title: "Fix sub call through magic var (e.g. C<&$1>)" - From: Chip Salzenberg - Files: pp_hot.c - - Title: "Fix grep() with refs in array context" - From: Chip Salzenberg - Files: pp.c - - CORE PORTABILITY - - Title: "Eliminate $^S; add C<use vmsish qw(status exit time)>" - From: Charles Bailey - Msg-ID: <01IFI9CFKL0S004R2V@hmivax.humgen.upenn.edu> - Date: Mon, 17 Feb 1997 02:45:26 -0500 (EST) - Files: MANIFEST gv.c lib/English.pm lib/ExtUtils/MM_VMS.pm - lib/ExtUtils/Mksymlists.pm lib/ExtUtils/xsubpp mg.c op.c - perl.c perl.h pod/perldelta.pod pod/perlmod.pod - pod/perlvar.pod pp_ctl.c pp_sys.c utils/perldoc.PL - vms/Makefile vms/config.vms vms/descrip.mms - vms/ext/Stdio/Stdio.pm vms/ext/Stdio/Stdio.xs - vms/ext/XSSymSet.pm vms/ext/vmsish.pm vms/vms.c vms/vmsish.h - win32/makedef.pl - - Title: "Eliminate FP exceptions under SCO 5" - From: Chip Salzenberg - Files: hints/sco.sh unixish.h - - Title: "Digital UNIX hints" - From: Jarkko Hietaniemi - Msg-ID: <199702151906.VAA22999@alpha.hut.fi> - Date: Sat, 15 Feb 1997 21:06:33 +0200 (EET) - Files: hints/dec_osf.sh - - Title: "Irix6.4 (with 7.1 compilers)" - From: John Stoffel <jfs@fluent.com> - Msg-ID: <199702130238.VAA24468@jfs.Fluent.COM> - Date: Wed, 12 Feb 1997 21:38:51 -0500 (EST) - Files: hints/irix_6_2.sh hints/irix_6_4.sh - - Title: "Update Plan 9, Win32, VMS configs with $shortsize and $longsize" - From: Chip Salzenberg - Files: plan9/config.plan9 plan9/genconfig.pl - vms/genconfig.pl win32/config.w32 - - OTHER CORE CHANGES - - Title: "Fix core dump when embedding" - From: Chip Salzenberg - Files: perl.c - - Title: "Re: Fragile signals" - From: Ilya Zakharevich - Msg-ID: <199702130644.BAA07572@monk.mps.ohio-state.edu> - Date: Thu, 13 Feb 1997 01:44:39 -0500 (EST) - Files: mg.c - - Title: "Make format strings correspond exactly to parameters" - From: Roderick Schertler - Msg-ID: <pz7mkc1h0g.fsf@eeyore.ibcinc.com> - Date: 13 Feb 1997 17:24:31 -0500 - Files: doio.c ext/DB_File/DB_File.xs ext/Opcode/Opcode.xs gv.c op.c - perl.c pp_ctl.c pp_sys.c regcomp.c toke.c - - Title: "Don't try to attach 'o' magic to read-only values" - From: Chip Salzenberg - Files: sv.c - - Title: "Fix carriage-return message" - From: Chip Salzenberg - Files: toke.c - - Title: "In <=>, test for equality first" - From: Chip Salzenberg - Files: pp.c - - Title: "Don't mark sv_{true,false} PADTMP" - From: Chip Salzenberg - Files: op.c - - BUILD PROCESS - - Title: "Fix eval "" in Configure" - From: allen@gateway.grumman.com (John L. Allen) - Msg-ID: <9702141809.AA17001@gateway.grumman.com> - Date: Fri, 14 Feb 1997 13:09:53 -0500 - Files: Configure - - Title: "Don't link with -lsfio if sfio is not requested" - From: Chip Salzenberg - Files: Configure - - Title: "perl5.003_26 Configure change "win" for AIX 4" - From: Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> - Msg-ID: <Pine.OSF.3.95.970214135751.32654A-100000@dogbert.cc.ndsu.NoD - Date: Fri, 14 Feb 1997 13:59:02 -0600 (CST) - Files: Configure - - Title: "Update os2/diff.configure" - From: Chip Salzenberg - Files: os2/diff.configure - - LIBRARY AND EXTENSIONS - - Title: "Remove Fatal.pm" - From: Chip Salzenberg - Files: MANIFEST lib/Fatal.pm pod/perldelta.pod pod/perlmod.pod - pod/roffitall t/lib/fatal.t - - Title: "Refresh MakeMaker to 5.40" - From: Andy Dougherty, Andreas Koenig, Tim Bunce - Files: lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Unix.pm - lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm - - Title: "Refresh CPAN.pm to 1.21" - From: Andreas Koenig - Files: lib/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm - - Title: "Refresh Test::Harness to 1.15" - From: Andreas Koenig - Files: lib/Test/Harness.pm - - TESTS - - Title: "Remove non-portable locale tests" - From: Chip Salzenberg - Files: t/pragma/locale.t - - UTILITIES - - Title: "pod2man: missing '-' in name section shouldn't be fatal" - From: Ulrich Pfeifer - Msg-ID: <yfmzpxcimsa.fsf@ls6.informatik.uni-dortmund.de> - Date: 10 Feb 1997 18:38:45 +0100 - Files: pod/pod2man.PL - - DOCUMENTATION - - Title: "Update To-Do list" - From: Tim Bunce - Msg-ID: <9702101900.AA25293@toad.ig.co.uk> - Date: Mon, 10 Feb 1997 19:00:59 +0000 - Files: Todo - - Title: "Fix formatting in perldiag" - From: Chip Salzenberg - Files: pod/perldiag.pod - - ----------------- -Version 5.003_26 ----------------- - -This release is beta candidate #4. "Once more, dear friends...." - - CORE LANGUAGE CHANGES - - Title: "Make \r in script an error (per Larry)" - From: Chip Salzenberg - Files: pod/perldiag.pod toke.c - - Title: "Support '%i' format and 'h' modifier in s?printf" - From: Chip Salzenberg - Files: doop.c pod/perldelta.pod - - CORE PORTABILITY - - Title: "Fix value of system() and $? for DEC UNIX, VMS, others" - From: Chip Salzenberg - Files: mg.c perl.h pp_sys.c - - Title: "VMS patches post _25" - From: Charles Bailey - Msg-ID: <01IF48W3P39W0050BD@hmivax.humgen.upenn.edu> - Date: Fri, 07 Feb 1997 01:56:12 -0500 (EST) - Files: Porting/Glossary lib/ExtUtils/Liblist.pm - lib/ExtUtils/MM_VMS.pm lib/ExtUtils/xsubpp perl.c - vms/Makefile vms/config.vms vms/descrip.mms vms/genconfig.pl - vms/perlvms.pod vms/vms.c vms/vmsish.h x2p/a2p.c - - Title: "Hints for BSDOS" - From: Christopher Davis <ckd@loiosh.kei.com> - Msg-ID: <199702042011.PAA09206@loiosh.kei.com> - Date: Tue, 4 Feb 1997 15:11:13 -0500 (EST) - Files: hints/bsdos.sh - - Title: "On C<sysopen(..., O_APPEND)>, call C<fopen(..., "a")>" - From: Chip Salzenberg - Files: doio.c - - OTHER CORE CHANGES - - Title: "Fix (yet another) Tk closure problem" - From: Chip Salzenberg - Files: op.c perl.c pp_ctl.c - - Title: "Fix value of C<foreach>" - From: Chip Salzenberg - Files: cop.h pp_ctl.c - - Title: "Regexp optimizations" - From: Ilya Zakharevich - Msg-ID: <199702041102.GAA24805@monk.mps.ohio-state.edu> - Date: Tue, 4 Feb 1997 06:02:10 -0500 (EST) - Files: regcomp.c regexec.c - - Title: "Re: static buffer in not_a_number() [sv.c] might overflow" - From: Gisle Aas - Msg-ID: <hbu9uz1si.fsf@bergen.sn.no> - Date: 09 Feb 1997 11:55:41 +0100 - Files: sv.c - - Title: "Refine 'runaway string' heuristic" - From: Chip Salzenberg - Files: toke.c - - Title: "Fix core dump on C<print "a", last> in eval" - From: Chip Salzenberg - Files: pp_ctl.c - - Title: "Catch C<use integer; $x % 0>" - From: Chip Salzenberg - Files: pp.c - - BUILD PROCESS - - Title: "Fix usage message in configure.gnu" - From: Jarkko Hietaniemi - Files: configure.gnu - - LIBRARY AND EXTENSIONS - - Title: "DB_File 1.11 patch" - From: Paul Marquess - Msg-ID: <9702061553.AA18147@claudius.bfsec.bt.co.uk> - Date: Thu, 6 Feb 97 15:53:34 GMT - Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs - - Title: "Faster File::Compare" - From: Gisle Aas - Msg-ID: <199702051342.OAA02753@bergen.sn.no> - Date: Wed, 5 Feb 1997 14:42:49 +0100 - Files: lib/File/Compare.pm - - Title: "Make diagnostics module strip formatting directives" - From: Chip Salzenberg - Files: lib/diagnostics.pm pod/perldiag.pod - - Title: "Fix warning from missing POSIX::setvbuf()" - From: Chip Salzenberg - Files: ext/IO/IO.xs - - TESTS - - Title: "Fix closure.t for AmigaOS (again)" - From: Norbert Pueschel - Msg-ID: <77724742@Armageddon.meb.uni-bonn.de> - Date: Wed, 05 Feb 1997 18:56:45 +0100 - Files: t/op/closure.t - - UTILITIES - - Title: "perldoc -f <perlfunc>" - From: Gisle Aas - Msg-ID: <199702051127.MAA02090@bergen.sn.no> - Date: Wed, 5 Feb 1997 12:27:36 +0100 - Files: utils/perldoc.PL - - Title: "Fix pod2man's handling of quotes in =items" - From: Jarkko Hietaniemi - Msg-ID: <199702042023.WAA13143@alpha.hut.fi> - Date: Tue, 4 Feb 1997 22:23:34 +0200 (EET) - Files: pod/pod2man.PL - - DOCUMENTATION - - Title: "return *FH pod patch" - From: allen@gateway.grumman.com (John L. Allen) - Msg-ID: <9702061507.AA04474@gateway.grumman.com> - Date: Thu, 6 Feb 1997 10:07:28 -0500 - Files: pod/perldata.pod pod/perlsub.pod - - Title: "Describe interation of untie and DESTROY" - From: Paul Marquess and Chip Salzenberg - Files: pod/perltie.pod - - ----------------- -Version 5.003_25 ----------------- - -This release is beta candidate #3. Here's hoping... - - CORE LANGUAGE CHANGES - - Title: "Make $] read-only" - From: Chip Salzenberg - Files: gv.c - - Title: "New variable C<$^S> is a native version of C<$?>" - From: Chip Salzenberg - Files: doio.c global.sym gv.c interp.sym lib/English.pm mg.c perl.c - perl.h pod/perldelta.pod pod/perlfunc.pod pod/perlvar.pod - pp_ctl.c pp_sys.c proto.h util.c - - Title: "Make $^T work with undump, and don't taint it" - From: Chip Salzenberg - Files: perl.c - - CORE PORTABILITY - - Title: "VMS patches for _24" - From: Charles Bailey - Msg-ID: <01IEUIFP5038004GQP@hmivax.humgen.upenn.edu> - Date: Fri, 31 Jan 1997 02:34:37 -0500 (EST) - Files: ext/DynaLoader/DynaLoader.pm ext/DynaLoader/dl_vms.xs - lib/AutoSplit.pm lib/ExtUtils/MM_VMS.pm - lib/ExtUtils/MakeMaker.pm perl.h pp_hot.c t/lib/filehand.t - t/op/closure.t vms/Makefile vms/config.vms vms/descrip.mms - vms/ext/filespec.t vms/vms.c vms/vmsish.h - - Title: "hints/dec_osf.sh: polishing the comments" - From: Jarkko Hietaniemi - Msg-ID: <199701301958.VAA08992@alpha.hut.fi> - Date: Thu, 30 Jan 1997 21:58:10 +0200 (EET) - Files: hints/dec_osf.sh - - Title: "amigaos.sh" - From: Norbert Pueschel - Msg-ID: <77724724@Armageddon.meb.uni-bonn.de> - Date: Wed, 29 Jan 1997 11:39:49 +0100 - Files: hints/amigaos.sh - - OTHER CORE CHANGES - - Title: "Require '-T' in argv[], not just on #! line" - From: Chip Salzenberg - Files: perl.c pod/perldiag.pod - - Title: "Fix C<return @_> and associated stack bugs" - From: Chip Salzenberg - Files: cop.h pp_ctl.c pp_hot.c t/op/misc.t - - Title: "Fix never-closing handle after C<select>" - From: Chip Salzenberg - Files: pp_sys.c - - Title: "Fix /\G/g with patterns that match empty string" - From: Ilya Zakharevich - Files: pp_hot.c - - Title: "Fix scalar leak in av_unshift" - From: Chip Salzenberg - Files: av.c - - Title: "Ignore refs to lexicals when making refs to lexicals" - From: Chip Salzenberg - Files: op.c - - Title: "Don't create AV, HV, IO when assigning glob" - From: Chip Salzenberg - Files: mg.c - - BUILD PROCESS - - Title: "Configure updates for intsize and ssizetype" - From: Andy Dougherty - Files: Configure MANIFEST config_H config_h.SH handy.h - - Title: "Ask about /usr/bin/perl iff STDIN and STDERR are terminals" - From: Chip Salzenberg - Files: installperl - - LIBRARY AND EXTENSIONS - - Title: "Refresh CPAN to 1.19" - From: Andreas Koenig - Files: lib/Bundle/CPAN.pm lib/CPAN.pm lib/CPAN/FirstTime.pm - - Title: "Debugger update" - From: Ilya Zakharevich - Msg-ID: <199702030406.XAA23029@monk.mps.ohio-state.edu> - Date: Sun, 2 Feb 1997 23:06:34 -0500 (EST) - Files: lib/perl5db.pl - - Title: "In Symbol::gensym, don't make glob fake by copying it" - From: John Hughes <john@AtlanTech.COM> - Files: lib/Symbol.pm - - Title: "Make POSIX::is*() eight-bit-clean" - From: Chip Salzenberg - Files: ext/POSIX/POSIX.xs - - Title: "Make IO::Handle::gets() an alias of getline" - From: Gisle Aas - Msg-ID: <199701301103.MAA11291@bergen.sn.no> - Date: Thu, 30 Jan 1997 12:03:15 +0100 - Files: ext/IO/lib/IO/Handle.pm lib/IO/Handle.pm - - TESTS - - Title: "More Amiga test patches" - From: Norbert Pueschel - Msg-ID: <77724725@Armageddon.meb.uni-bonn.de> - Date: Wed, 29 Jan 1997 16:07:33 +0100 - Files: README.amiga t/lib/safe2.t t/op/closure.t - - UTILITIES - - Title: "c2ph.PL fix" - From: lvirden@cas.org (Larry W. Virden) - Msg-ID: <199701301349.IAA16724@cas.org> - Date: Thu, 30 Jan 1997 08:49:19 -0500 - Files: utils/c2ph.PL - - Title: "Make pod2man a little laxer for perltoc.pod" - From: Chip Salzenberg - Files: pod/pod2man.PL - - DOCUMENTATION - - Title: "Update to perl INSTALL file" - From: lvirden@cas.org (Larry W. Virden) - Msg-ID: <199701301338.IAA15878@cas.org> - Date: Thu, 30 Jan 1997 08:38:23 -0500 - Files: INSTALL - - Title: "Update to perl.pod suggested" - From: lvirden@cas.org (Larry W. Virden) - Msg-ID: <199701301345.IAA16514@cas.org> - Date: Thu, 30 Jan 1997 08:45:59 -0500 - Files: pod/perl.pod - - Title: "Document how extension pms go in $archlib" - From: Chip Salzenberg - Files: pod/perldelta.pod - - Title: "perlfunc.pod tweaks" - From: Roderick Schertler - Msg-ID: <20526.854659255@eeyore.ibcinc.com> - Date: Thu, 30 Jan 1997 16:20:55 -0500 - Files: pod/perlfunc.pod - - Title: "new (Feb 1) perlembed.pod" - From: Jon Orwant <orwant@media.mit.edu> - Msg-ID: <9702012334.AA15747@fahrenheit-451.media.mit.edu> - Date: Sat, 1 Feb 1997 18:34:59 -0500 - Files: pod/perlembed.pod - - Title: "Error lines must not have trialing periods" - From: Chip Salzenberg - Files: pod/perldiag.pod - - ----------------- -Version 5.003_24 ----------------- - -This release is the second candidate for a public beta test. -It's, well, bunches better than _23. - - CORE LANGUAGE CHANGES - - Title: "glob defaults to $_" - From: Gurusamy Sarathy - Msg-ID: <199701270809.DAA00934@aatma.engin.umich.edu> - Date: Mon, 27 Jan 1997 03:09:13 -0500 - Files: op.c opcode.pl pod/perlfunc.pod t/op/glob.t - - Title: "Re: an overloading bug " - From: Gurusamy Sarathy - Msg-ID: <199701270007.TAA26525@aatma.engin.umich.edu> - Date: Sun, 26 Jan 1997 19:07:45 -0500 - Files: pod/perldiag.pod pod/perlfunc.pod pp_ctl.c - - Title: "Don't warn on C<$\ = undef>" - From: Chip Salzenberg - Files: mg.c - - CORE PORTABILITY - - Title: "Win32 port" - From: Gary Ng <71564.1743@compuserve.com> - Files: MANIFEST win32/* - - Title: "Amiga files" - From: Norbert Pueschel - Msg-ID: <77724712@Armageddon.meb.uni-bonn.de> - Date: Sun, 26 Jan 1997 17:42:15 +0100 - Files: MANIFEST README.amiga hints/amigaos.sh - - Title: "New dec_osf hints" - From: Jarkko.Hietaniemi@cc.hut.fi - Msg-ID: <199701271233.OAA21548@alpha.hut.fi> - Date: Mon, 27 Jan 1997 14:33:01 +0200 (EET) - Files: hints/dec_osf.sh - - OTHER CORE CHANGES - - Title: "Prevent premature death of @_ during leavesub" - From: Chip Salzenberg - Files: pp_hot.c t/op/misc.t - - Title: "Deref old stash when re-blessing" - From: Chip Salzenberg - Files: sv.c - - Title: "Don't abort when RCHECK and DEBUGGING" - From: Tim Bunce - Msg-ID: <9701272339.AA16537@toad.ig.co.uk> - Date: Mon, 27 Jan 1997 23:39:48 +0000 - Files: malloc.c - - Title: "Fix overloading macro conflict with Digital 'cc -fast'" - From: Jarkko Hietaniemi - Msg-ID: <199701272216.AAA04557@alpha.hut.fi> - Date: Tue, 28 Jan 1997 00:16:49 +0200 (EET) - Files: perl.h - - Title: "global.sym: typo?" - From: Jarkko Hietaniemi - Msg-ID: <199701261937.VAA07556@alpha.hut.fi> - Date: Sun, 26 Jan 1997 21:37:59 +0200 (EET) - Files: global.sym - - BUILD PROCESS - - Title: "Put all extensions' modules in $archlib" - From: Chip Salzenberg - Files: installperl - - Title: "Configure fixes: set $archlib, omit _NO_PROTO" - From: Chip Salzenberg - Files: Configure - - Title: "Make configure{,.gnu} ignore --cache-file option" - From: Norbert Pueschel - Files: configure configure.gnu - - LIBRARY AND EXTENSIONS - - Title: "Version checking in XS bootstrap is optional" - From: Chip Salzenberg - Files: XSUB.h - - Title: "Update $VERSION of DynaLoader and POSIX" - From: Chip Salzenberg - Files: ext/DynaLoader/DynaLoader.pm ext/POSIX/POSIX.pm - - Title: "Refresh Text::Wrap to 97.011701" - From: Chip Salzenberg - Files: lib/Text/Wrap.pm - - Title: "Fcntl.xs: F_[GS]ETOWN were in wrong case branch" - From: Jarkko Hietaniemi - Msg-ID: <199701251510.RAA05142@alpha.hut.fi> - Date: Sat, 25 Jan 1997 17:10:20 +0200 (EET) - Files: ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs - - Title: "Fix $Is_VMS typo in Test::Harness" - From: Chip Salzenberg - Files: lib/Test/Harness.pm - - Title: "Allow for really big keys in Tie::SubstrHash" - From: data-drift@so.uio.no - Msg-ID: <199701282014.VAA12645@selters.uio.no> - Date: Tue, 28 Jan 1997 21:14:34 +0100 (MET) - Files: lib/Tie/SubstrHash.pm - - Title: "Avoid newRV_noinc() in IO, for compiling with old Perls" - From: Chip Salzenberg - Files: ext/IO/IO.xs - - TESTS - - Title: "New test op/closure.t" - From: Tom Phoenix, Ulrich Pfeifer - Files: MANIFEST t/op/closure.t - - UTILITIES - - Title: "xsubpp handing of void funcs breaks extensions using XST_m*()" - From: Tim Bunce - Msg-ID: <9701271659.AA15137@toad.ig.co.uk> - Date: Mon, 27 Jan 1997 16:59:06 +0000 - Files: lib/ExtUtils/xsubpp - - DOCUMENTATION - - Title: "perldelta Fcntl enhancement" - From: Jarkko Hietaniemi - Msg-ID: <199701251505.RAA22159@alpha.hut.fi> - Date: Sat, 25 Jan 1997 17:05:34 +0200 (EET) - Files: pod/perldelta.pod - - Title: "Updates to perldelta re: Fcntl, DB_File, Net::Ping" - From: Paul Marquess - Files: pod/perldelta.pod - - Title: "Document restrictions on gv_fetchmethod() and perl_call_sv()" - From: Chip Salzenberg - Files: pod/perldelta.pod pod/perlguts.pod - - Title: "perldiag.pod: No comma allowed after %s" - From: Jarkko.Hietaniemi@cc.hut.fi - Msg-ID: <199701251541.RAA04120@alpha.hut.fi> - Date: Sat, 25 Jan 1997 17:41:53 +0200 (EET) - Files: pod/perldiag.pod - - Title: "perlfunc.pod: localtime" - From: Jarkko Hietaniemi - Msg-ID: <199701251629.SAA08114@alpha.hut.fi> - Date: Sat, 25 Jan 1997 18:29:37 +0200 (EET) - Files: pod/perlfunc.pod - - Title: "perlfunc diff: gmtime" - From: Peter Haworth <pmh@edison.ioppublishing.com> - Msg-ID: <32EE1298.7B90@edison.ioppublishing.com> - Date: Tue, 28 Jan 1997 14:52:08 +0000 - Files: pod/perlfunc.pod - - Title: "Updates to guts" - From: Ilya Zakharevich - Msg-ID: <199701270034.TAA13177@monk.mps.ohio-state.edu> - Date: Sun, 26 Jan 1997 19:34:18 -0500 (EST) - Files: pod/perlguts.pod - - Title: "perltoot fixes" - From: Tom Christiansen - Msg-ID: <6807.854214205@jinete> - Date: Sat, 25 Jan 1997 09:43:25 -0800 - Files: pod/perltoot.pod - - Title: "5.003_23: small typo in perlsyn.pod" - From: Gurusamy Sarathy - Msg-ID: <199701270824.DAA01169@aatma.engin.umich.edu> - Date: Mon, 27 Jan 1997 03:24:25 -0500 - Files: pod/perlsyn.pod - - ----------------- -Version 5.003_23 ----------------- - -This release is our first candidate for a public beta test. - - CORE LANGUAGE CHANGES - - Title: "Disallow changing $_[0] in __DIE__ handlers" - From: Chip Salzenberg - Files: pod/perlfunc.pod util.c - - Title: "Fix overloading with inheritance and AUTOLOAD" - From: Ilya Zakharevich - Msg-ID: <199701202226.RAA05072@monk.mps.ohio-state.edu> - Date: Mon, 20 Jan 1997 17:26:32 -0500 (EST) - Files: gv.c lib/diagnostics.pm lib/overload.pm pod/perldebug.pod - pod/perldiag.pod pod/perlfunc.pod pod/perlop.pod - pod/perlre.pod pod/perltoc.pod pod/perlxs.pod - - Title: "Nested here-docs" - From: larry@wall.org (Larry Wall) - Msg-ID: <199701202313.PAA11693@wall.org> - Date: Mon, 20 Jan 1997 15:13:42 -0800 - Files: toke.c - - Title: "Revert $^X to old behavior (plus HP-UX bug fix)" - From: Chip Salzenberg - Files: hints/hpux.sh toke.c - - Title: "Protect against '0' in 'stmt while <HANDLE>'" - From: Chip Salzenberg - Files: op.c - - Title: "Don't warn when closure uses var at file scope" - From: Chip Salzenberg - Files: op.c - - CORE PORTABILITY - - Title: "VMS patches for _22" - From: Charles Bailey - Msg-ID: <01IEGBJ2TMYS003PCL@hmivax.humgen.upenn.edu> - Date: Mon, 20 Jan 1997 22:50:21 -0500 (EST) - Files: ext/POSIX/POSIX.xs lib/ExtUtils/MM_VMS.pm lib/ExtUtils/xsubpp - lib/Test/Harness.pm toke.c vms/Makefile vms/descrip.mms - vms/genconfig.pl vms/perly_c.vms vms/vmsish.h x2p/a2p.h - vms/Makefile vms/config.vms vms/descrip.mms vms/perly_c.vms - - Title: "Re: Perl 5.003_21: OS/2 patches" - From: Ilya Zakharevich - Msg-ID: <199701170446.XAA28939@monk.mps.ohio-state.edu> - Date: Thu, 16 Jan 1997 23:46:40 -0500 (EST) - Files: os2/Changes os2/os2.c - - Title: "Plan9 update" - From: lutherh@stratcom.com (Luther Huffman) - Files: plan9/config.plan9 plan9/mkfile - - Title: "Bugfixes for AmigaOS" - From: Norbert Pueschel - Msg-ID: <77724691@Armageddon.meb.uni-bonn.de> - Date: Wed, 22 Jan 1997 00:13:54 +0100 - Files: hints/amigaos.sh lib/File/Basename.pm - - Title: "New dec_osf.sh hints file" - From: Achim Bohnet <ach@rosat.mpe-garching.mpg.de> - Msg-ID: <9701241058.AA29550@o09.rosat.mpe-garching.mpg.de> - Date: Fri, 24 Jan 1997 11:58:24 +0100 - Files: hints/dec_osf.sh - - Title: "on NeXT: gdbm problem fixed" - From: Andreas Koenig - Msg-ID: <199701210201.DAA17794@anna.in-berlin.de> - Date: Tue, 21 Jan 1997 03:01:32 +0100 - Files: hints/next_3.sh hints/next_3_0.sh - - Title: "patch for hints/powerux.sh" - From: tom@amber.ssd.hcsc.com (Tom Horsley) - Msg-ID: <9701181833.AA02602@amber.ssd.hcsc.com> - Date: Sat, 18 Jan 97 13:33:26 -0500 - Files: hints/powerux.sh - - Title: "hints & Configure changes to build perl on DC/OSx" - From: Stephen Zander <stephen.zander@interlock.mckesson.com> - Msg-ID: <199701170043.QAA25985@wsbip1.mckesson.com> - Date: Thu, 16 Jan 1997 16:43:52 -0800 - Files: Configure MANIFEST hints/dcosx.sh - - Title: "patch for hints/cxux.sh perl5.003_22" - From: tom@amber.ssd.hcsc.com (Tom Horsley) - Msg-ID: <9701192014.AA05722@amber.ssd.hcsc.com> - Date: Sun, 19 Jan 97 15:14:04 -0500 - Files: hints/cxux.sh - - OTHER CORE CHANGES - - Title: "Make PERL5LIB and -I work like C<use lib>" - From: Tim Bunce - Msg-ID: <9701231523.AA26613@toad.ig.co.uk> - Date: Thu, 23 Jan 1997 15:23:27 +0000 - Files: lib/lib.pm perl.c - - Title: "Fix /\G.a/" - From: Chip Salzenberg - Files: regcomp.c regcomp.h regexec.c regexp.h toke.c - - Title: "Extend stack in pp_undef (!)" - From: Chip Salzenberg - Files: pp.c - - Title: "Allow for sub to be redefined while executing" - From: Chip Salzenberg - Files: cop.h pp_hot.c t/op/misc.t - - Title: "Eliminate redundant flag CVf_FORMAT" - From: Chip Salzenberg - Files: cv.h op.c perl.c perly.c perly.y proto.h sv.c toke.c - - Title: "Generate IVs when possible in abs() and int()" - From: Chip Salzenberg - Files: pp.c - - Title: "Efficiency patchlet for pp_aassign()" - From: Ilya Zakharevich - Msg-ID: <199701210305.WAA05451@monk.mps.ohio-state.edu> - Date: Mon, 20 Jan 1997 22:05:39 -0500 (EST) - Files: pp_hot.c - - Title: "When sorting, promote to PVNV only for built-in comparison" - From: Chip Salzenberg - Files: pp_ctl.c - - Title: "Remove "suidperl security patch" message" - From: Chip Salzenberg - Files: perl.c - - BUILD PROCESS - - Title: "Make configure.gnu a copy of configure; make configure writea - From: Chip Salzenberg - Files: MANIFEST configure.gnu - - Title: "Regen Configure with metaconfig: +ARCHNAME, -FILE_filbuf" - From: Chip Salzenberg and Charles Bailey - Files: Configure config_H config_h.SH hints/lynxos.sh - os2/diff.configure os2/os2ish.h plan9/config.plan9 sv.c - utils/perlbug.PL vms/config.vms vms/fndvers.com - - Title: "Compile with optimization when testing memory functions" - From: Chip Salzenberg - Files: Configure - - Title: "Minor patch for Debian installation" - From: Chip Salzenberg - Files: installperl - - LIBRARY AND EXTENSIONS - - Title: "Debugger update" - From: Ilya Zakharevich - Msg-ID: <199701190455.XAA02579@monk.mps.ohio-state.edu> - Date: Sat, 18 Jan 1997 23:54:59 -0500 (EST) - Files: lib/perl5db.pl - - Title: "DynaLoader enhancement: support RTLD_GLOBAL" - From: Nick Ing-Simmons - Msg-ID: <199701240937.JAA11443@pluto.tiuk.ti.com> - Date: Fri, 24 Jan 1997 09:37:18 GMT - Files: ext/DynaLoader/DynaLoader.pm 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 - - Title: "Fcntl: add more constants" - From: Jarkko.Hietaniemi@cc.hut.fi - Msg-ID: <199701191811.UAA16346@alpha.hut.fi> - Date: Sun, 19 Jan 1997 20:11:22 +0200 (EET) - Files: ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs - - Title: "Refresh IO to 1.15 (plus DESTROY and new_tmpfile fixes)" - From: Chip Salzenberg - Files: 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/Socket.pm t/lib/io_pipe.t - - Title: "Allow IO.xs to remain at 1.15 while $VERSION is 1.1501" - From: Chip Salzenberg - Files: XSUB.h ext/IO/Makefile.PL ext/IO/lib/IO/Handle.pm - - Title: "Refresh CPAN to 1.15" - From: Andreas Koenig - Files: lib/CPAN.pm lib/CPAN/FirstTime.pm - - Title: "Add E* and SA_* constants" - From: Roderick Schertler - Msg-ID: <23338.853986967@eeyore.ibcinc.com> - Date: Wed, 22 Jan 1997 21:36:07 -0500 - Files: ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod ext/POSIX/POSIX.xs - - TESTS - - Title: "Test nested here-docs" - From: hv@crypt.compulink.co.uk (Hugo van der Sanden) - Msg-ID: <199701210053.AAA02139@crypt.compulink.co.uk> - Date: Tue, 21 Jan 1997 00:53:44 +0000 (GMT) - Files: t/base/lex.t - - Title: "Fix tests of $^X and $0 to work with QNX" - From: Chip Salzenberg - Files: t/lib/io_pipe.t t/lib/open2.t t/lib/open3.t t/op/magic.t - - Title: "Patch tests for systems without fork()" - From: Norbert Pueschel - Msg-ID: <77724697@Armageddon.meb.uni-bonn.de> - Date: Thu, 23 Jan 1997 23:51:28 +0100 - Files: t/io/pipe.t t/lib/filehand.t t/lib/io_pipe.t t/lib/io_sock.t - t/lib/open2.t t/lib/open3.t t/op/fork.t - - Title: "Test patches for OS/2" - From: Ilya Zakharevich - Msg-ID: <199701170448.XAA28948@monk.mps.ohio-state.edu> - Date: Thu, 16 Jan 1997 23:48:18 -0500 (EST) - Files: os2/OS2/ExtAttr/t/os2_ea.t os2/OS2/PrfDB/t/os2_prfdb.t - 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 t/README t/cmd/while.t - t/comp/colon.t t/comp/multiline.t t/io/argv.t t/lib/anydbm.t - t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t t/lib/sdbm.t - t/op/cmp.t t/op/magic.t - - UTILITIES - - Title: "Translate \200 to È in pod2html" - From: Chip Salzenberg - Files: pod/pod2html.PL - - Title: "VMS patches: '.com' extension on scripts" - From: Charles Bailey - Msg-ID: <01IELNPDLYJM003E7J@hmivax.humgen.upenn.edu> - Date: Fri, 24 Jan 1997 18:42:29 -0500 (EST) - Files: 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 vms/Makefile vms/descrip.mms - x2p/find2perl.PL x2p/s2p.PL - - Title: "Allow MakeMaker 5.34 to use libraries containing '+' in name" - From: dennism@cyrix.com (Dennis Marsa) - Msg-ID: <9701172027.AA27861@orion.cyrix.com> - Date: Fri, 17 Jan 97 14:27:32 CST - Files: lib/ExtUtils/Liblist.pm - - DOCUMENTATION - - Title: "First cut at INSTALL edit" - From: Chip Salzenberg - Files: INSTALL - - Title: "Additional docs for __DIE__ and __WARN__" - From: Gurusamy Sarathy - Files: pod/perlfunc.pod pod/perlrun.pod pod/perlvar.pod - - Title: "Document #line directive" - From: Gurusamy Sarathy - Msg-ID: <199701240908.EAA23846@aatma.engin.umich.edu> - Date: Fri, 24 Jan 1997 04:08:44 -0500 - Files: pod/perlsyn.pod pod/perltoc.pod - - Title: "Perlguts version 30" - From: Jeff Okamoto - Msg-ID: <199701172117.AA116515863@hpcc123.corp.hp.com> - Date: Fri, 17 Jan 1997 13:17:43 -0800 - Files: pod/perlguts.pod - - Title: "delta for perldelta" - From: Tom Christiansen - Msg-ID: <804.854121463@jinete> - Date: Fri, 24 Jan 1997 07:57:43 -0800 - Files: pod/perlnews.pod pod/perltoc.pod - - Title: "Updates to perldelta" - From: Ilya Zakharevich - Msg-ID: <199701211610.LAA06227@monk.mps.ohio-state.edu> - Date: Mon, 20 Jan 1997 06:48:49 -0500 (EST) - Files: pod/perlnews.pod pod/perltoc.pod - - Title: "perlnews.pod diff for the Fcntl" - From: Jarkko Hietaniemi - Msg-ID: <199701211600.SAA30117@alpha.hut.fi> - Date: Tue, 21 Jan 1997 18:00:56 +0200 (EET) - Files: pod/perlnews.pod - - Title: "Rename perlnews -> perldelta per Tom's request" - From: Chip Salzenberg - Files: MANIFEST pod/Makefile pod/buildtoc pod/perl.pod - pod/perldelta.pod pod/perltoc.pod pod/roffitall - - Title: "Remove bad advice from perllocale.pod" - From: Chip Salzenberg - Files: pod/perllocale.pod - - ----------------- -Version 5.003_22 ----------------- - -This release is primarily made up of bug fixes, the foremost among -which repairs a showstopper memory corruption bug in formats. - - CORE LANGUAGE CHANGES - - Title: "Fix parsing of C< ${ xyz } >" - From: Chip Salzenberg - Files: toke.c - - Title: "Don't parse method calls in strings" - From: Chip Salzenberg - Files: toke.c - - Title: "Fix overly picky carping about leading '{' in regex" - From: Chip Salzenberg - Files: regcomp.c - - OTHER CORE CHANGES - - Title: "Fix memory corruption from formats" - From: Chip Salzenberg - Files: op.c perl.c perly.c perly.c.diff perly.y proto.h sv.c toke.c - - BUILD PROCESS - - Title: "Fix '_mopop' typo" - From: Chip Salzenberg - Files: Makefile.SH - - LIBRARY AND EXTENSIONS - - Title: "Gut IO::Handle::DESTROY" - From: Chip Salzenberg - Files: ext/IO/lib/IO/Handle.pm - - Title: "RiscOS is case-insensitive" - From: Chip Salzenberg - Files: lib/File/Basename.pm - - TESTS - - Title: "Fix thinko in db-recno.t" - From: Chip Salzenberg - Files: t/lib/db-recno.t - - UTILITIES - - Title: "Make perlbug more cautionary and more verbose" - From: Kenneth Albanowski and Jarkko Hietaniemi - Files: utils/perlbug.PL - - DOCUMENTATION - - Title: "NEW roffitall + INSTALL fix" - From: Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com> - Msg-ID: <6058.853410121@lyon.grenoble.hp.com> - Date: Thu, 16 Jan 97 11:22:01 +0100 - Files: INSTALL pod/roffitall - - Title: "srand() doc update" - From: Roderick Schertler - Msg-ID: <24195.853379065@eeyore.ibcinc.com> - Date: Wed, 15 Jan 1997 20:44:25 -0500 - Files: pod/perlfunc.pod - - Title: "documentation of configpm (perl5.003_20)" - From: win@in.rhein-main.de (Winfried Koenig) - Msg-ID: <m0vkU40-0004WAC@incom.rhein-main.de> - Date: Wed, 15 Jan 1997 14:03:27 +0200 (EET) - Files: configpm - - ----------------- -Version 5.003_21 ----------------- - -This release includes several important bug fixes, and a couple of -minor but valuable language tweaks. Please read on for a list of the -significant changes: - - CORE LANGUAGE CHANGES - - Title: "Fix overloading via inherited autoloaded functions" - From: Ilya Zakharevich - Msg-ID: <199701131022.FAA22830@monk.mps.ohio-state.edu> - Date: Mon, 13 Jan 1997 05:22:47 -0500 (EST) - Files: gv.c lib/overload.pm pod/perldiag.pod t/pragma/overload.t - - Title: "Method call fixes: Don't cache in alias, don't skip undef" - From: Chip Salzenberg - Files: global.sym gv.c gv.h hv.c op.c pod/perlguts.pod - pod/perltoc.pod pp.c pp_ctl.c pp_hot.c proto.h scope.c sv.c - t/op/method.t - - Title: "Formats can be closures" - From: Chip Salzenberg - Files: cv.h op.c perly.c perly.c.diff perly.y pp_sys.c sv.h - - Title: "Quote 'foo' in C<$x{-foo}>" - From: Chip Salzenberg - Files: toke.c - - Title: "Forbid C< x->{y} > and C< x->[0] > under C<strict refs>" - From: Chip Salzenberg - Files: op.c pod/perldiag.pod t/pragma/strict-refs - - Title: "Allow <=> to return undef when operands are not ordered" - From: Chip Salzenberg and Andreas Koenig - Files: MANIFEST pp.c t/op/cmp.t - - Title: "Fail regex that starts with '{'" - From: Chip Salzenberg - Files: regcomp.c - - CORE PORTABILITY - - Title: "Re: Perl 5.003_20: OS/2 patches" - From: Ilya Zakharevich - Msg-ID: <199701101102.GAA19051@monk.mps.ohio-state.edu> - Date: Fri, 10 Jan 1997 06:02:16 -0500 (EST) - Files: hints/os2.sh os2/Changes os2/os2.c os2/os2ish.h pp_sys.c - - Title: "VMS patches for _20" - From: Charles Bailey - Msg-ID: <01IE7MGK7ULQ003K5M@hmivax.humgen.upenn.edu> - Date: Tue, 14 Jan 1997 17:34:43 -0500 (EST) - Files: configpm dosish.h os2/os2ish.h plan9/plan9ish.h proto.h - t/pragma/strict.t t/pragma/subs.t t/pragma/warning.t toke.c - unixish.h vms/Makefile vms/config.vms vms/descrip.mms - vms/genconfig.pl vms/perly_c.vms vms/test.com vms/vmsish.h - x2p/a2p.h x2p/str.c - - Title: "Irix 6.3 & 6.4 and perl5.003_20" - From: John Stoffel <jfs@fluent.com> - Msg-ID: <199701132242.RAA14601@jfs.Fluent.COM> - Date: Mon, 13 Jan 1997 17:42:50 -0500 (EST) - Files: MANIFEST hints/irix_6_3.sh hints/irix_6_4.sh - - Title: "Patch: MachTen hints, Configure" - From: Dominic Dunlop <domo@slipper.ip.lu> - Msg-ID: <v03010d00af0123a93670@[194.51.248.75]> - Date: Tue, 14 Jan 1997 13:43:13 +0100 - Files: Configure hints/machten.sh - - Title: "Rename aux.sh to aux_3.sh for MS-LOSS" - From: Chip Salzenberg - Files: MANIFEST hints/aux_3.sh - - OTHER CORE CHANGES - - Title: "Fix C< eval { my $x; eval '$x' } >" - From: Chip Salzenberg - Files: op.c t/op/misc.t - - Title: "Don't warn if eval '' uses outer func's lexicals" - From: Chip Salzenberg - Files: op.c - - Title: "Avoid memory wastage in wait(); make pidstatus global" - From: Chip Salzenberg - Files: global.sym interp.sym perl.c perl.h pp_sys.c - - Title: "Forbid ++ and -- on readonly values" - From: "John Q. Linux" <jql@accessone.com> - Msg-ID: <Pine.LNX.3.95.970110193330.11249D-100000@jql.accessone.com> - Date: Fri, 10 Jan 1997 19:47:16 -0800 (PST) - Files: pp.c pp_hot.c - - Title: "Keep array from dying during foreach(@array)" - From: Chip Salzenberg - Files: cop.h pp_ctl.c - - Title: "Fix C< $a="simple"; split /($a)/o >" - From: Chip Salzenberg - Files: pp.c t/op/misc.t - - Title: "Fix infinite loop for undef function in @SIG{__WARN__,__DIE__}" - From: Chip Salzenberg - Files: util.c - - Title: "Fix for anon-lists with tied entries coredump" - From: Gurusamy Sarathy - Msg-ID: <199701100745.CAA13057@aatma.engin.umich.edu> - Date: Fri, 10 Jan 1997 02:45:11 -0500 - Files: pp.c - - Title: "Don't set SVf_PADBUSY on immortal SVs" - From: Chip Salzenberg - Files: op.c - - Title: "Patch for Object subroutines" - From: Ilya Zakharevich - Msg-ID: <199701080156.UAA15366@monk.mps.ohio-state.edu> - Date: Tue, 7 Jan 1997 20:56:02 -0500 (EST) - Files: cop.h - - Title: "Use an SVt_PVLV to hold stacked OP pointers when debugging" - From: Chip Salzenberg - Files: pp.c pp_hot.c - - Title: "Undo change that freed large pad vars" - From: Chip Salzenberg - Files: scope.c - - BUILD PROCESS - - Title: "Make MachTen hints file warn about db-recno failures" - From: Dominic Dunlop <domo@slipper.ip.lu> - Msg-ID: <v03010d00aef92fba6aca@[194.51.248.78]> - Date: Wed, 8 Jan 1997 12:07:18 +0100 - Files: hints/machten.sh - - Title: "5.003_20, FreeBSD 3.0 and minor patch" - From: roberto@eurocontrol.fr (Ollivier Robert) - Msg-ID: <Mutt.19970108143747.roberto@caerdonn.eurocontrol.fr> - Date: Wed, 8 Jan 1997 14:37:47 +0100 - Files: Configure - - Title: "Make installperl quieter; only shared libraries need 0555" - From: Chip Salzenberg - Files: installperl - - TESTS - - Title: "Advice on TEST failure" - From: Dominic Dunlop <domo@slipper.ip.lu> - Msg-ID: <v03010d01aefbaefcf3bc@[194.51.248.78]> - Date: Fri, 10 Jan 1997 10:19:07 +0100 - Files: t/TEST - - Title: "UNIVERSAL tests" - From: Roderick Schertler - Files: MANIFEST t/op/universal.t - - Title: "Test deletion of array during foreach" - From: Jarkko Hietaniemi - Files: t/op/misc.t - - Title: "patch for db-recno.t" - From: Paul Marquess - Msg-ID: <9701121509.AA11147@claudius.bfsec.bt.co.uk> - Date: Sun, 12 Jan 1997 15:09:33 +0000 (GMT) - Files: t/lib/db-recno.t - - LIBRARY AND EXTENSIONS - - Title: "Localize info about filesystems being case-forgiving" - From: Chip Salzenberg - Files: lib/File/Basename.pm 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 - x2p/find2perl.PL x2p/s2p.PL - - Title: "Fix for fd leak in IO::File::new_tmpfile" - From: Graham Barr and Chip Salzenberg - Files: ext/IO/IO.xs ext/IO/lib/IO/Handle.pm - - Title: "Refresh Getopt::Long to 2.6" - From: Johan Vromans <jvromans@squirrel.nl> - Files: lib/Getopt/Long.pm - - Title: "Refresh DB_File to 1.10" - From: Paul Marquess - Msg-ID: <9701141247.AA21242@claudius.bfsec.bt.co.uk> - Date: Tue, 14 Jan 97 12:47:40 GMT - Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs - - Title: "Re: FileCache::cacheout clobbers $_" - From: Roderick Schertler - Msg-ID: <pz3ewb3189.fsf@eeyore.ibcinc.com> - Date: 08 Jan 1997 23:45:58 -0500 - Files: lib/FileCache.pm lib/cacheout.pl - - Title: "PATCH: AutoSplit" - From: Graham Barr - Msg-ID: <9603111010.AA29935@tiuk.ti.com> - Date: 11 Mar 1996 06:01:58 -0500 - Files: lib/AutoSplit.pm - - Title: "Re: Uninitialized value in Carp.pm ? " - From: Gurusamy Sarathy - Msg-ID: <199701141815.NAA07960@aatma.engin.umich.edu> - Date: Tue, 14 Jan 1997 13:15:25 -0500 - Files: lib/Carp.pm - - Title: "Avoid "uninitialized" warnings from POSIX::constant()" - From: Chip Salzenberg - Files: ext/POSIX/POSIX.pm - - Title: "Eliminate warning from C<use overload>" - From: Chip Salzenberg - Files: lib/overload.pm - - Title: "low priority patches" - From: Paul Marquess - Msg-ID: <9701081655.AA27349@claudius.bfsec.bt.co.uk> - Date: Wed, 8 Jan 97 16:55:02 GMT - Files: lib/Cwd.pm t/comp/redef.t t/lib/db-btree.t - - UTILITIES - - Title: "Re: xsubpp and Tk ==> segfault" - From: Ilya Zakharevich - Msg-ID: <199701080825.DAA15813@monk.mps.ohio-state.edu> - Date: Wed, 8 Jan 1997 03:25:47 -0500 (EST) - Files: lib/ExtUtils/xsubpp - - Title: "Re: MakeMaker and 'make uninstall'" - From: Andreas Koenig - Msg-ID: <199701101243.NAA26400@anna.in-berlin.de> - Date: Fri, 10 Jan 1997 13:43:39 +0100 - Files: lib/ExtUtils/MM_Unix.pm - - Title: "Don't search for pod if path is already valid" - From: Wayne Scott <wscott@ichips.intel.com> - Msg-ID: <199701082325.PAA04521@pdxlx008.intel.com> - Date: Wed, 08 Jan 1997 15:25:19 -0800 - Files: utils/perldoc.PL - - Title: "Yet another perldoc option" - From: Gisle Aas - Msg-ID: <199610022200.AAA15334@furubotn.sn.no> - Date: Thu, 3 Oct 1996 00:00:35 +0200 - Files: utils/perldoc.PL - - Title: "Re: perldoc, temp files, async pagers" - From: Roderick Schertler - Msg-ID: <pzwwtoom8p.fsf@eeyore.ibcinc.com> - Date: 07 Jan 1997 22:54:14 -0500 - Files: utils/perldoc.PL - - DOCUMENTATION - - Title: "Full documentation generation patch" - From: Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com> - Msg-ID: <15309.853323388@lyon.grenoble.hp.com> - Date: Wed, 15 Jan 97 11:16:28 +0100 - Files: MANIFEST pod/roffitall pod/rofftoc - - Title: "Re: documentation correction (i.e. patch) for perlsyn.pod" - From: "M.J.T. Guy" - Msg-ID: <E0vilLh-0000M6-00@ursa.cus.cam.ac.uk> - Date: Fri, 10 Jan 1997 18:06:37 +0000 - Files: pod/perlsyn.pod - - Title: "Document use of pos() and /\G/" - From: Gurusamy Sarathy - Msg-ID: <199701132013.PAA26606@aatma.engin.umich.edu> - Date: Mon, 13 Jan 1997 15:13:12 -0500 - Files: pod/perlfunc.pod pod/perlnews.pod pod/perlop.pod - pod/perlre.pod pod/perltoc.pod pod/perltrap.pod - - Title: "Fix example #4 in perlXStut" - From: Ilya Zakharevich - Msg-ID: <199701050739.CAA11112@monk.mps.ohio-state.edu> - Date: Sun, 5 Jan 1997 02:39:45 -0500 (EST) - Files: pod/perlxstut.pod - - Title: "Document new closure warnings" - From: Chip Salzenberg - Files: op.c pod/perldiag.pod - - Title: "Misc. doc patches missing in _20" - From: Roderick Schertler - Msg-ID: <102.852695733@eeyore.ibcinc.com> - Date: Tue, 07 Jan 1997 22:55:33 -0500 - Files: pod/perlsub.pod pod/perltoc.pod pod/perlvar.pod - - ----------------- -Version 5.003_20 ----------------- - -The only language change in this release is the recension of support -for named closures: Now, no subroutine declared "sub foo {}" can be -a closure. (This is a return to the behavior of 5.003.) In addition, -there are new warnings triggered by any apparent attempt to use named -functions as closures. - -And, as usual, there are the usual little fixes, documentation -updates, and expanded tests. This is good stuff. "I love you, man!" - - CORE LANGUAGE CHANGES - - Title: "Rescind named closures" - From: Chip Salzenberg - Files: Makefile.SH op.c perly.c perly.c.diff perly.y pp_hot.c - - Title: "Fix: empty @_ when calling empty-proto subs without parens" - From: Graham Barr - Msg-ID: <32CE30F0.7E8425A5@tiuk.ti.com> - Date: Sat, 04 Jan 1997 10:29:04 +0000 - Files: perly.c perly.y - - CORE PORTABILITY - - Title: "Fix $^X on systems that set it to Perl's basename" - From: Chip Salzenberg - Files: hints/hpux.sh toke.c - - Title: "Configure/perl5/Compartmented Mode Workstation (fwd)" - From: Andy Dougherty - Msg-ID: <Pine.SOL.3.95.970106131505.1662C-100000@fractal.lafayette.ed - Date: Mon, 06 Jan 1997 13:15:38 -0500 (EST) - Files: Configure hints/dec_osf.sh - - Title: "Remove obsolete file "dl_os2.xs"." - From: Ilya Zakharevich - Files: MANIFEST - - OTHER CORE CHANGES - - Title: "Fix C< sub foo (&@); sub bar (&); foo {}, bar {}, bar {} >" - From: Chip Salzenberg - Files: perly.c perly.c.diff perly.y - - Title: "plug for safe/opcode leaks" - From: Doug MacEachern - Msg-ID: <199701072220.RAA02117@postman.osf.org> - Date: Tue, 07 Jan 1997 17:20:46 -0500 - Files: op.c - - Title: "Finish OP= warnings: none on ^=" - From: Chip Salzenberg - Files: doop.c pp.c t/op/assignwarn.t - - Title: "Fix Dynaloader failures with DProf" - From: Gurusamy Sarathy - Msg-ID: <199701061718.MAA26909@aatma.engin.umich.edu> - Date: Mon, 06 Jan 1997 12:18:46 -0500 - Files: pp_hot.c - - BUILD PROCESS - - Title: "Make Configure default to the first domain in /etc/resolv.conf" - From: Chip Salzenberg - Files: Configure - - Title: "Start all helper scripts with $startsh" - From: Chip Salzenberg - Files: Configure - - Title: "Support libperl.so under FreeBSD" - From: roberto@keltia.freenix.fr (Ollivier Robert) - Msg-ID: <Mutt.19970105224149.roberto@keltia.freenix.fr> - Date: Sun, 5 Jan 1997 22:41:49 +0100 - Files: Configure Makefile.SH - - TESTS - - Title: "New test: comp/proto.t" - From: Graham Barr - Msg-ID: <32D0C21F.3FB28D51@tiuk.ti.com> - Date: Mon, 06 Jan 1997 09:13:03 +0000 - Files: MANIFEST t/comp/proto.t - - Title: "More magic variable tests" - From: Roderick Schertler - Msg-ID: <7043.852565192@eeyore.ibcinc.com> - Date: Mon, 06 Jan 1997 10:39:52 -0500 - Files: t/harness t/op/magic.t - - LIBRARY AND EXTENSIONS - - Title: "File::Basename::dirname bugs" - From: Robin Barker <rmb@cise.npl.co.uk> - Msg-ID: <12393.9701071719@tempest.cise.npl.co.uk> - Date: Tue, 7 Jan 97 17:19:59 GMT - Files: lib/File/Basename.pm t/lib/basename.t - - Title: "sigaction() problems" - From: Roderick Schertler - Msg-ID: <12808.852583324@eeyore.ibcinc.com> - Date: Mon, 06 Jan 1997 15:42:04 -0500 - Files: ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod - - Title: "Fix importation of FileHandle methods; fix POSIX docs" - From: Chip Salzenberg - Files: ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod lib/FileHandle.pm - - Title: "Patch: make hints files warn about db-recno failures" - From: Dominic Dunlop <domo@slipper.ip.lu> - Msg-ID: <v03010d00aef53ac4d18a@[194.51.248.68]> - Date: Sun, 5 Jan 1997 12:34:25 +0100 - Files: MANIFEST hints/aux.sh hints/broken-db.msg hints/freebsd.sh - - UTILITIES - - Title: "pod2html.PL patch (for 5.003-19)" - From: Fabien TASSIN <tassin@eerie.fr> - Msg-ID: <199701052347.AAA21297@solar5> - Date: Mon, 6 Jan 1997 00:47:01 +0100 - Files: pod/pod2html.PL - - DOCUMENTATION - - Title: "tiny doc patches" - From: Roderick Schertler - Msg-ID: <23338.852394333@eeyore.ibcinc.com> - Date: Sat, 04 Jan 1997 11:12:13 -0500 - Files: pod/perlapio.pod pod/perlnews.pod pod/perltoc.pod - - Title: "doc patch for defined on perlfunc.pod" - From: Roderick Schertler - Msg-ID: <pz91686ek1.fsf@eeyore.ibcinc.com> - Date: 04 Jan 1997 21:28:30 -0500 - Files: pod/perlfunc.pod - - Title: "doc patch: perldsc" - From: Roderick Schertler - Msg-ID: <pzafqo6eo9.fsf@eeyore.ibcinc.com> - Date: 04 Jan 1997 21:25:58 -0500 - Files: pod/perldsc.pod pod/perltoc.pod - - Title: "Re: constant function inlining" - From: Roderick Schertler - Msg-ID: <pzk9pp1b95.fsf@eeyore.ibcinc.com> - Date: 07 Jan 1997 15:27:50 -0500 - Files: pod/perldiag.pod pod/perlsub.pod - - Title: "scalar caller doc fix" - From: Roderick Schertler - Msg-ID: <18245.852608060@eeyore.ibcinc.com> - Date: Mon, 06 Jan 1997 22:34:20 -0500 - Files: pod/perlfunc.pod - - Title: "perlpod.pod possible patches" - From: lvirden@cas.org (Larry W. Virden, x2487) - Msg-ID: <9701070756.AA1185@cas.org> - Date: Tue, 7 Jan 1997 07:56:30 -0500 - Files: pod/perlpod.pod - - Title: "Misc perlfunc updates" - From: Tom Christiansen - Files: pod/perlfunc.pod pod/perltoc.pod - - ----------------- -Version 5.003_19 ----------------- - -Lots of internal cleanup in this patch, especially plugged memory -leaks when embedded Perl interpreters shut down and restart. The -method cache is now invisible to user code. And there is a new test -directory, "t/pragma". - -IMHO, this is Beta quality code. - -Here's a list of the more significant changes... - - CORE LANGUAGE CHANGES - - Title: "Make method cache invisible to user code" - From: Chip Salzenberg - Files: dump.c gv.c gv.h hv.c op.c perl.c pp_hot.c pp_sys.c sv.c - toke.c - - Title: "Never parse "{m,s,y,tr,q{,q,w,x}}:{,:}" as package or label" - From: Chip Salzenberg - Files: toke.c - - CORE PORTABILITY - - Title: "Fix $^X under HP-UX" - From: Chip Salzenberg - Files: hints/hpux.sh toke.c - - Title: "New hints/hpux.sh" - From: Jeff Okamoto - Msg-ID: <199612312309.AA283393772@hpcc123.corp.hp.com> - Date: Tue, 31 Dec 1996 15:09:32 -0800 - Files: hints/hpux.sh - - OTHER CORE CHANGES - - Title: "Fix segv when calling named closures" - From: Chip Salzenberg - Files: pp_hot.c - - Title: "Finish rationalizing "undef value" warnings" - From: Chip Salzenberg - Files: doop.c pp.c sv.c t/op/assignwarn.t - - Title: "Arrange for all "_<file" entries to be in %main::" - From: Chip Salzenberg - Files: gv.c lib/perl5db.pl - - Title: "Introduce CVf_NODEBUG flag" - From: Gurusamy Sarathy - Msg-ID: <199701012042.PAA25994@aatma.engin.umich.edu> - Date: Wed, 01 Jan 1997 15:42:05 -0500 - Files: cv.h pp_hot.c - - Title: "Reword 'may be "0"' warning per Larry; fix its line number" - From: Chip Salzenberg - Files: op.c pod/perldiag.pod - - Title: "5.003_18: perl_{con,des}truct fixes" - From: Doug MacEachern - Msg-ID: <199701032042.PAA06766@postman.osf.org> - Date: Fri, 03 Jan 1997 15:42:04 -0500 - Files: perl.c perl.h pod/perlembed.pod pod/perltoc.pod t/op/sysio.t - - Title: "Fix lost value from READLINE after TIEHANDLE" - From: Gurusamy Sarathy - Files: pp_hot.c sv.h - - Title: "Free memory of large lexical variables when leaving scope" - From: Chip Salzenberg - Files: scope.c - - TESTS - - Title: "Create t/pragma directory; populate with new and old" - From: Paul Marquess - Files: MANIFEST Makefile.SH t/TEST t/comp/use.t t/lib/locale.t - t/op/overload.t t/op/use.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-global - t/pragma/warning.t - - Title: "New tests: comp/colon.t and op/assignwarn.t" - From: Robin Barker <rmb@cise.npl.co.uk> - Files: MANIFEST t/comp/colon.t t/op/assignwarn.t - - LIBRARY AND EXTENSIONS - - Title: "Make libs clean under '-w'" - From: Jarkko Hietaniemi - Files: lib/AutoSplit.pm lib/Devel/SelfStubber.pm lib/Env.pm - lib/Math/Complex.pm lib/Pod/Functions.pm lib/Search/Dict.pm - lib/SelfLoader.pm lib/Term/Complete.pm lib/chat2.pl - lib/complete.pl lib/diagnostics.pm lib/ftp.pl lib/termcap.pl - lib/validate.pl - - DOCUMENTATION - - Title: "Perlguts, version 28" - From: Jeff Okamoto - Msg-ID: <199701032110.AA102535846@hpcc123.corp.hp.com> - Date: Fri, 3 Jan 1997 13:10:46 -0800 - Files: pod/perlguts.pod - - Title: "Re: perldelta, take 3" - From: Tim Bunce - Msg-ID: <9701031748.AA15335@toad.ig.co.uk> - Date: Fri, 3 Jan 1997 17:48:46 +0000 - Files: pod/perlnews.pod - - Title: "Miscellaneous pod patches" - From: Ralf S. Engelschall <rse@engelschall.com> - Files: pod/Makefile pod/perldebug.pod pod/perlfunc.pod - pod/perlguts.pod - - Title: "expanded flock() docs" - From: Roderick Schertler - Msg-ID: <4481.852337871@eeyore.ibcinc.com> - Date: Fri, 03 Jan 1997 19:31:11 -0500 - Files: pod/perlfunc.pod - - Title: "Use Text::Wrap in buildtoc; run buildtoc" - From: Ulrich Pfeifer - Files: pod/buildtoc pod/perltoc.pod - - Title: "Remove obsolete perlovl.pod" - From: Chip Salzenberg - Files: MANIFEST plan9/mkfile pod/perlovl.pod vms/Makefile - vms/descrip.mms - - ----------------- -Version 5.003_18 ----------------- - -Yet further down the road to 5.004.... - - CORE LANGUAGE CHANGES - - Title: "Inherited overloading" - From: Ilya Zakharevich - Msg-ID: <199612291312.IAA02134@monk.mps.ohio-state.edu> - Date: Sun, 29 Dec 1996 08:12:54 -0500 (EST) - Files: gv.c lib/overload.pm perl.h sv.c sv.h t/op/overload.t - - Title: "Hide lexicals from C<use>d or C<require>d module (!)" - From: Chip Salzenberg - Files: pp_ctl.c - - Title: "Closures at file scope must be anonymous" - From: Chip Salzenberg - Files: op.c - - Title: "Warn on '{if,while} ($x = X)' where X is glob, readdir, or <FH>" - From: Chip Salzenberg - Files: op.c pod/perldiag.pod - - Title: "Warn on 'undef $x; $x OP 1' where OP is *=, /=, %=, or **=" - From: Chip Salzenberg - Files: pp.c - - CORE PORTABILITY - - Title: "Ultrix setlocale() workaround" - From: Chip Salzenberg - Files: hints/ultrix_4.sh util.c - - OTHER CORE CHANGES - - Title: "Get rid of 'Leaked scalars'" - From: Chip Salzenberg - Files: cop.h gv.c op.c - - Title: "Don't forget $c in C<(($a,$b,$c)=(1,2))=(3,4,5)>" - From: Chip Salzenberg - Files: pp_hot.c - - Title: "Fix core dump on perl_construct()/perl_destruct() loop" - From: Chip Salzenberg - Files: perl.c - - Title: "Add missing syms to global.sym; update magic doc" - From: Chip Salzenberg - Files: global.sym pod/perlguts.pod - - TESTS - - Title: "Expanded locale.t and misc.t" - From: Jarkko Hietaniemi - Files: t/lib/locale.t t/lib/misc.t - - Title: "Expanded my.t" - From: Chip Salzenberg - Files: t/lib/my.t - - Title: "test harness for C<use x.xxxx>" - From: Graham Barr - Msg-ID: <32C76882.3F3C7999@tiuk.ti.com> - Date: Mon, 30 Dec 1996 07:00:18 +0000 - Files: MANIFEST t/op/use.t - - Title: "More tests" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.95.961229170736.15213M-100000@solaris.teleport.co - Date: Sun, 29 Dec 1996 17:46:21 -0800 (PST) - Files: t/op/each.t t/op/oct.t t/op/quotemeta.t t/op/rand.t - - LIBRARY AND EXTENSIONS - - Title: "Improving Config.pm" - From: Tom Phoenix - Msg-ID: <Pine.GSO.3.95.961230091244.13467L-100000@solaris.teleport.co - Date: Mon, 30 Dec 1996 09:24:16 -0800 (PST) - Files: configpm - - Title: "File::Copy under OS/2" - From: Ilya Zakharevich - Msg-ID: <199612280347.WAA00293@monk.mps.ohio-state.edu> - Date: Fri, 27 Dec 1996 22:47:24 -0500 (EST) - Files: lib/File/Copy.pm t/lib/filecopy.t - - DOCUMENTATION - - Title: "Updates to perllocale.pod" - From: Dominic Dunlop <domo@slipper.ip.lu> - Files: pod/perllocale.pod - - Title: "Locale-related pod patches, take 2" - From: Dominic Dunlop <domo@slipper.ip.lu> - Msg-ID: <v03007800aeea9e488b36@[194.51.248.77]> - Date: Sat, 28 Dec 1996 10:56:41 +0100 - Files: pod/perl.pod pod/perlform.pod pod/perlfunc.pod pod/perlop.pod - pod/perlre.pod pod/perlsec.pod - - Title: "Re: perldiag.pod entry for "Scalar value @%s{%s} ..."" - From: Roderick Schertler - Msg-ID: <2043.852051019@eeyore.ibcinc.com> - Date: Tue, 31 Dec 1996 11:50:19 -0500 - Files: pod/perldiag.pod - - ----------------- -Version 5.003_17 ----------------- - -The rate of patches is slowing down.... I see 5.004 at the end of the -tunnel! (Hey, what's that whistle?) - - CORE LANGUAGE CHANGES - - Title: "Support named closures" - From: Chip Salzenberg - Files: cv.h op.c perl.c pp.c pp_ctl.c pp_hot.c - - CORE PORTABILITY - - Title: "perl5.003_15 and Interactive Unix" - From: win@in.rhein-main.de (Winfried Koenig) - Msg-ID: <m0vd254-0004oKC@incom.rhein-main.de> - Date: Thu, 26 Dec 1996 00:45:45 +0200 (EET) - Files: hints/isc.sh pp_sys.c - - Title: "Suggest "usemymalloc='n'" for FreeBSD 2.*" - From: rse@engelschall.com (Ralf S. Engelschall) - Files: hints/freebsd.sh - - Title: "Minor OS/2 fixes" - From: Ilya Zakharevich - Msg-ID: <199612252105.QAA11890@monk.mps.ohio-state.edu> - Date: Wed, 25 Dec 1996 16:05:42 -0500 (EST) - Files: os2/os2ish.h pod/perlxstut.pod - - OTHER CORE CHANGES - - Title: "Fix {,un}tainting of $1 etc. when C<use locale>" - From: Chip Salzenberg - Files: mg.c sv.c - - Title: "Limit effects of "=pod" to a single file" - From: Chip Salzenberg - Files: toke.c - - TESTS - - Title: "New tests: op/method.t and op/locale.t" - From: Ilya Zakharevich and Jarkko Hietaniemi - Files: MANIFEST t/lib/locale.t t/op/method.t - - Title: "Test C< ()=() >" - From: Chip Salzenberg - Files: t/op/misc.t - - LIBRARY AND EXTENSIONS - - Title: "Refresh MakeMaker to 5.39" - From: Andreas Koenig - Files: lib/ExtUtils/Install.pm lib/ExtUtils/Liblist.pm - lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm - lib/ExtUtils/Mksymlists.pm - - Title: "Newer debugger" - From: Ilya Zakharevich - Msg-ID: <199612261954.OAA12999@monk.mps.ohio-state.edu> - Date: Thu, 26 Dec 1996 14:54:34 -0500 (EST) - Files: lib/perl5db.pl - - DOCUMENTATION - - Title: "Perlguts, version 27" - From: Jeff Okamoto - Msg-ID: <199612250144.AA059528263@hpcc123.corp.hp.com> - Date: Tue, 24 Dec 1996 17:44:23 -0800 - Files: pod/perlguts.pod - - Title: "perlpod.pod patch for _16" - From: Kenneth Albanowski - Msg-ID: <Pine.LNX.3.93.961224225906.337B-100000@kjahds.com> - Date: Tue, 24 Dec 1996 23:00:10 -0500 (EST) - Files: pod/perlpod.pod - - Title: "tiny perllocale.pod diff for _16" - From: Jarkko Hietaniemi - Msg-ID: <199612261306.PAA21161@alpha.hut.fi> - Date: Thu, 26 Dec 1996 15:06:04 +0200 (EET) - Files: pod/perllocale.pod - - ----------------- -Version 5.003_16 ----------------- - -This patch is all bug fixes, library updates, and documentation -updates. We'll get to 5.004 RSN, I promise. :-) - - CORE LANGUAGE CHANGES - - Title: "Fix closures that are not in subroutines" - From: Chip Salzenberg - Files: op.c - - CORE PORTABILITY - - Title: "_13: patches for unicos/unicosmk" - From: Dean Roehrich - Msg-ID: <199612202038.OAA22805@poplar.cray.com> - Date: Fri, 20 Dec 1996 14:38:50 -0600 - Files: Configure MANIFEST hints/unicos.sh hints/unicosmk.sh - - OTHER CORE CHANGES - - Title: "Fix 'foreach(@ARGV) { while (<>) { push @p,$_ } }'" - From: Chip Salzenberg - Files: cop.h pp_hot.c scope.c - - Title: "Eliminate warnings from C< undef $x; $x OP= "foo" >" - From: Chip Salzenberg - Files: doop.c pp.c pp.h pp_hot.c - - Title: "Try again to improve method caching" - From: Ilya Zakharevich - Msg-ID: <199612240113.UAA09487@monk.mps.ohio-state.edu> - Date: Mon, 23 Dec 1996 20:13:56 -0500 (EST) - Files: gv.c sv.c - - Title: "Be more careful about 'o' magic memory management" - From: Chip Salzenberg - Files: mg.c sv.c - - Title: "Fix bad pointer refs when localized object loses magic" - From: Chip Salzenberg - Files: scope.c - - LIBRARY AND EXTENSIONS - - Title: "Refresh CPAN to 1.09" - From: Andreas Koenig - Files: lib/CPAN.pm - - Title: "Refresh Net::Ping to 2.02" - From: Russell Mosemann <mose@ccsn.edu> - Files: lib/Net/Ping.pm - - Title: "Refresh IO to 1.14" - From: Graham Barr - Files: MANIFEST ext/IO/IO.xs 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_dup.t t/lib/io_pipe.t - t/lib/io_sel.t t/lib/io_sock.t t/lib/io_tell.t - t/lib/io_udp.t t/lib/io_xs.t - - BUILD PROCESS AND UTILITIES - - Title: "Don't recurse into subdirs twice on 'make realclean'" - From: Chip Salzenberg - Files: Makefile.SH - - Title: "Use root EXTERN.h when compiling x2p/malloc.c." - From: Paul Marquess - Files: x2p/Makefile.SH - - Title: "Fix compilation errors when malloc.c used for x2p" - From: Robin Barker <rmb@cise.npl.co.uk> - Files: malloc.c - - DOCUMENTATION - - Title: "Edit INSTALL to describe new binary compat setup" - From: Chip Salzenberg - Files: INSTALL - - Title: "Update to perllocale.pod" - From: Jarkko Hietaniemi - Files: pod/perllocale.pod - - ----------------- -Version 5.003_15 ----------------- - -As soon as I posted 5.003_14, I found a fatal error in it. :-( - -This release is strictly a bug fix -- it removes some function caching -changes that were supposed to be improvements, but weren't. - - ----------------- -Version 5.003_14 ----------------- - -We seem to have achieved "release candidate" status. - - CORE LANGUAGE CHANGES - - Title: "Eliminate support for {if,unless,while,until} BLOCK BLOCK" - From: Chip Salzenberg - Files: perly.c perly.c.diff perly.y toke.c - - Title: "Taint $x after $x =~ s/pat/xyz/ if pat or xyz is tainted by locale" - From: Chip Salzenberg - Files: cop.h mg.c pp_ctl.c pp_hot.c - - Title: "Complete support for modifying undefined array members in foreach" - From: Chip Salzenberg - Files: global.sym mg.c perl.h pp.c pp_hot.c proto.h sv.c - - OTHER CORE CHANGES - - Title: "patch for regex bug: (x|x){n}" - From: Gurusamy Sarathy - Msg-ID: <199612210259.VAA10170@aatma.engin.umich.edu> - Date: Fri, 20 Dec 1996 21:59:22 -0500 - Files: regexec.c - - Title: "Bug in debugger with import manipulations" - From: Ilya Zakharevich - Msg-ID: <199612231037.FAA08617@monk.mps.ohio-state.edu> - Date: Mon, 23 Dec 1996 05:37:48 -0500 (EST) - Files: pp_hot.c - - Title: "Import and dynamic methods" - From: Ilya Zakharevich - Msg-ID: <199612230645.BAA08378@monk.mps.ohio-state.edu> - Date: Mon, 23 Dec 1996 01:45:37 -0500 (EST) - Files: gv.c hv.c sv.c - - Title: "malloc.c patch" - From: Ilya Zakharevich - Msg-ID: <199612220748.CAA07164@monk.mps.ohio-state.edu> - Date: Sun, 22 Dec 1996 02:48:58 -0500 (EST) - Files: malloc.c - - Title: "sv_gets patch" - From: Ilya Zakharevich - Msg-ID: <199612220824.DAA07235@monk.mps.ohio-state.edu> - Date: Sun, 22 Dec 1996 03:24:04 -0500 (EST) - Files: pp_hot.c - - Title: "pos $str patch" - From: Ilya Zakharevich - Msg-ID: <199612220831.DAA07247@monk.mps.ohio-state.edu> - Date: Sun, 22 Dec 1996 03:31:21 -0500 (EST) - Files: mg.c pp_hot.c t/op/pat.t - - Title: "Prevent warnings when STDCHAR is unsigned" - From: Chip Salzenberg - Files: perlio.c perlio.h - - PORTABILITY - - Title: "Fix bugs in bincompat3 usage" - From: Chip Salzenberg - Files: perl.h perl_exp.SH - - Title: "Support shared libperl on SunOS" - From: Ulrich Pfeifer - Files: Makefile.SH - - Title: "Configure on OS/2" - From: Ilya Zakharevich - Msg-ID: <199612202325.SAA05505@monk.mps.ohio-state.edu> - Date: Fri, 20 Dec 1996 18:25:30 -0500 (EST) - Files: Configure - - Title: "Fixes for Interactive Unix" - From: win@in.rhein-main.de (Winfried Koenig) - Msg-ID: <m0vbeNO-00003WC@incom.rhein-main.de> - Date: Sun, 22 Dec 96 05:14 EET - Files: hints/isc.sh op.c pp_sys.c universal.c - - Title: "Use "proto" instead of "_" in sdbm.h" - From: Chip Salzenberg - Files: ext/SDBM_File/sdbm/sdbm.h - - Title: "VMS patches to 5.003_13" - From: Charles Bailey - Msg-ID: <01IDBYYFYPIS002ASE@hmivax.humgen.upenn.edu> - Date: Mon, 23 Dec 1996 01:26:47 -0500 (EST) - Files: deb.c ext/POSIX/POSIX.xs gv.c lib/File/Copy.pm mg.c perl.c - perl.h proto.h sv.c t/lib/filecopy.t taint.c toke.c util.c - vms/Makefile vms/config.vms vms/descrip.mms - vms/gen_shrfls.pl vms/genconfig.pl vms/genopt.com - vms/perly_c.vms vms/perly_h.vms vms/test.com vms/vms.c - vms/vms_yfix.pl - - UTILITIES, LIBRARY, AND EXTENSIONS - - Title: "Remove libnet" - From: Chip Salzenberg - Files: MANIFEST pod/perlmod.pod - - Title: "Refresh CPAN module to 1.08" - From: Chip Salzenberg - Files: lib/CPAN.pm lib/CPAN/FirstTime.pm - - Title: "Refresh ExtUtils::Manifest to version 1.28" - From: Andreas Koenig - Files: lib/ExtUtils/Manifest.pm - - Title: "Update IO->VERSION() to 1.1201 for CPAN's sake" - From: Chip Salzenberg - Files: ext/IO/lib/IO/Handle.pm lib/IO/Handle.pm - - Title: "Remodel File::Copy." - From: Chip Salzenberg - Files: lib/File/Copy.pm - - Title: "dumb bug in User::pwent.pm" - From: Tom Christiansen - Msg-ID: <199612201145.EAA27860@mox.perl.com> - Date: Fri, 20 Dec 1996 04:45:37 -0700 - Files: lib/User/pwent.pm - - DOCUMENTATION - - Title: "Better support for =for" - From: Kenneth Albanowski - Msg-ID: <Pine.LNX.3.93.961220163747.298T-100000@kjahds.com> - Date: Fri, 20 Dec 1996 16:43:35 -0500 (EST) - Files: lib/Pod/Text.pm pod/pod2latex.PL pod/pod2man.PL - - Title: "perllocale.pod -- second draft" - From: Dominic Dunlop <domo@slipper.ip.lu> - Msg-ID: <v03007800aee1923e30a2@[194.51.248.68]> - Date: Sat, 21 Dec 1996 15:00:50 +0100 - Files: pod/perllocale.pod - - Title: "Perlguts, version 26" - From: Jeff Okamoto - Msg-ID: <199612201943.AA048111018@hpcc123.corp.hp.com> - Date: Fri, 20 Dec 1996 11:43:38 -0800 - Files: pod/perlguts.pod - - Title: "Update pod/Makefile; s/perli18n/perllocale/" - From: Chip Salzenberg - Files: ext/POSIX/POSIX.pod lib/I18N/Collate.pm pod/Makefile - pod/perl.pod pod/perlmod.pod pod/perlnews.pod pod/roffitall - - Title: "obstruct pod2man doc tweaks" - From: Roderick Schertler - Msg-ID: <3923.851106237@eeyore.ibcinc.com> - Date: Fri, 20 Dec 1996 13:23:57 -0500 - Files: lib/Class/Template.pm lib/Time/tm.pm - - ----------------- -Version 5.003_13 ----------------- - -The watchword here is "synchronization." There were a couple of -show-stopper bugs in 5.003_12, so I'm issuing this patch to bring -everyone up to a common working base. - - CORE LANGUAGE CHANGES - - Title: "Disallow labels named q, qq, qw, qx, s, y, and tr" - From: Chip Salzenberg - Files: toke.c - - Title: "Make evals' lexicals visible to nested evals" - From: Chip Salzenberg - Files: pp_ctl.c - - OTHER CORE CHANGES - - Title: "Fix core dump bug with anoncode" - From: Chip Salzenberg - Files: op.c - - Title: "Allow DESTROY to make refs to dying objects" - From: Chip Salzenberg - Files: sv.c - - PORTABILITY - - Title: "Add missing backslash in Configure" - From: Chip Salzenberg - Files: Configure - - UTILITIES, LIBRARY, AND EXTENSIONS - - Title: "Include libnet-1.01 instead of old Net::FTP" - From: Graham Barr - Files: MANIFEST lib/Net/Cmd.pm lib/Net/Domain.pm - lib/Net/DummyInetd.pm lib/Net/FTP.pm lib/Net/NNTP.pm - lib/Net/Netrc.pm lib/Net/POP3.pm lib/Net/SMTP.pm - lib/Net/SNPP.pm lib/Net/Socket.pm lib/Net/Telnet.pm - lib/Net/Time.pm pod/perlmod.pod - - Title: "Use binmode when doing binary FTP" - From: Ilya Zakharevich - Files: lib/Net/FTP.pm - - Title: "Re: Open3.pm tries to close unopened file handle" - From: Roderick Schertler - Msg-ID: <pzloavmd9h.fsf@eeyore.ibcinc.com> - Date: 18 Dec 1996 22:19:54 -0500 - Files: MANIFEST lib/IPC/Open2.pm lib/IPC/Open3.pm lib/open2.pl - lib/open3.pl pod/perldiag.pod pod/perlfunc.pod t/lib/open2.t - t/lib/open3.t - - Title: "Long-standing problem in Socket module" - From: Spider Boardman - Msg-ID: <199612190418.XAA07291@Orb.Nashua.NH.US> - Date: Wed, 18 Dec 1996 23:18:14 -0500 - Files: Configure Porting/Glossary config_H config_h.SH - ext/Socket/Socket.pm ext/Socket/Socket.xs - - Title: "flock() constants" - From: Roderick Schertler - Msg-ID: <26669.850977437@eeyore.ibcinc.com> - Date: Thu, 19 Dec 1996 01:37:17 -0500 - Files: ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs pod/perlfunc.pod - - Title: "Re: find2perl . -xdev BROKEN still" - From: Roderick Schertler - Msg-ID: <pzvi9yig3h.fsf@eeyore.ibcinc.com> - Date: 19 Dec 1996 12:44:34 -0500 - Files: lib/File/Find.pm lib/find.pl lib/finddepth.pl - - DOCUMENTATION - - Title: "small doc tweaks for _12" - From: Roderick Schertler - Msg-ID: <1826.851011557@eeyore.ibcinc.com> - Date: Thu, 19 Dec 1996 11:05:57 -0500 - Files: lib/UNIVERSAL.pm pod/perldiag.pod pod/perltie.pod - - Title: "Re: missing E<> POD directive in perlpod.pod" - From: Roderick Schertler - Msg-ID: <pzwwueimak.fsf@eeyore.ibcinc.com> - Date: 19 Dec 1996 10:30:43 -0500 - Files: pod/perlpod.pod pod/pod2html.PL - - ----------------- -Version 5.003_12 ----------------- - -This patch is huge. A multitude of bug fixes, new modules (especially -CPAN and Net::FTP), a couple of new Configure variables, updated -docs... it's a long list. And speaking of lists, here's a list of -the more significant changes in 5.003_12: - - CORE LANGUAGE CHANGES - - Title: "Support C<delete @hash{@keys}>" - From: Chip Salzenberg - Files: op.c op.h opcode.pl pod/perldiag.pod pod/perlfunc.pod pp.c - t/op/delete.t - - Title: "Autovivify scalars" - From: Chip Salzenberg - Files: dump.c op.c op.h pp.c pp_hot.c - - Title: "Allow any word, including keyword, as label" - From: Chip Salzenberg - Files: toke.c - - OTHER CORE CHANGES - - Title: "Allow assignment to empty array values during foreach()" - From: Chip Salzenberg - Files: cop.h global.sym mg.c op.c perl.h pp_hot.c proto.h sv.c - - Title: "Fix nested closures" - From: Chip Salzenberg - Files: op.c opcode.pl pp.c pp_ctl.c pp_hot.c - - Title: "Fix core dump on auto-vivification" - From: Chip Salzenberg - Files: pp_hot.c - - Title: "Fix core dump on C<open $undef_var, "X">" - From: Chip Salzenberg - Files: pp_sys.c - - Title: "Fix -T/-B on globs and globrefs" - From: Chip Salzenberg - Files: pp_sys.c - - Title: "Fix memory management of $`, $&, and $'" - From: Chip Salzenberg - Files: pp_hot.c regexec.c - - Title: "Fix paren matching during backtracking" - From: Chip Salzenberg - Files: regexec.c - - Title: "Fix memory leak and std{in,out,err} death in perl_{con,de}str - From: Chip Salzenberg - Files: miniperlmain.c perl.c perl.h sv.c - - Title: "Discard garbage bytes at end of prototype()" - From: Chip Salzenberg - Files: pp.c - - Title: "Fix local($pack::{foo})" - From: Chip Salzenberg - Files: global.sym pp.c pp_hot.c proto.h scope.c - - Title: "Fix for AmigaOS - inplace operation" - From: Norbert Pueschel - Msg-ID: <77724601@Armageddon.meb.uni-bonn.de> - Date: Sun, 08 Dec 1996 15:33:00 +0100 - Files: doio.c - - Title: "Disable warn, die, and parse hooks _before_ global destruction - From: Chip Salzenberg - Files: perl.c - - Title: "Re: Bug in formline " - From: Gurusamy Sarathy - Msg-ID: <199612081958.OAA26025@aatma.engin.umich.edu> - Date: Sun, 08 Dec 1996 14:58:32 -0500 - Files: pp_ctl.c - - Title: "Fix C<@a = ($a,$b,$c,$d) = (1,2)>" - From: Chip Salzenberg - Files: pp_hot.c - - Title: "Fix %ENV assignment when environment starts out empty" - From: Chip Salzenberg - Files: hv.c - - Title: "Properly support and document newRV{,_inc,_noinc}" - From: Chip Salzenberg - Files: global.sym pod/perlguts.pod sv.c sv.h - - Title: "Support SvREADONLY on arrays" - From: Chip Salzenberg - Files: av.c - - Title: "Allow lvalue pos inside recursive function" - From: Chip Salzenberg - Files: op.c pp.c pp_ctl.c pp_hot.c - - PORTABILITY - - Title: "Eliminate PerlIO warnings when setting cnt to -1" - From: Chip Salzenberg - Files: perlio.c - - Title: "Make $privlib contents compatible with 5.003" - From: Chip Salzenberg - Files: INSTALL ext/Opcode/Safe.pm installperl lib/FileHandle.pm - lib/Test/Harness.pm - - Title: "Support $bincompat3 config variable; update metaconfig units" - From: Chip Salzenberg - Files: Configure MANIFEST compat3.sym config_h.SH embed.pl global.sym - old_embed.pl old_global.sym old_perl_exp.SH perl_exp.SH - - Title: "Look for gettimeofday() in Configure" - From: John Hughes <john@AtlanTech.COM> - Msg-ID: <01BBE77A.F6F37F80@malvinas.AtlanTech.COM> - Date: Wed, 11 Dec 1996 15:49:57 +0100 - Files: Configure config_H config_h.SH pp.c - - Title: "Make $startperl a relative path if people want portable scrip - From: Chip Salzenberg - Files: Configure - - Title: "Homogenize use of "eval exec" hack" - From: Chip Salzenberg - Files: Porting/Glossary eg/README eg/nih eg/sysvipc/ipcmsg - eg/sysvipc/ipcsem eg/sysvipc/ipcshm lib/diagnostics.pm - makeaperl.SH pod/checkpods.PL pod/perlrun.pod - 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 x2p/a2py.c - x2p/find2perl.PL x2p/s2p.PL - - Title: "LynxOS support" - From: seibert@Lynx.COM (Greg Seibert) - Msg-ID: <m0vYEsY-0000IZC@kzinti.lynx.com> - Date: Thu, 12 Dec 1996 09:25:00 PST - Files: Configure MANIFEST hints/lynxos.sh t/op/stat.t - - Title: "In Linux hints, set suidsafe=no and dosuid=yes" - From: Chip Salzenberg - Files: hints/linux.sh - - Title: "5.003_11 on UnixWare 2.1.1 - Only one small UnixWare buglet" - From: aburlison@cix.compulink.co.uk (Alan Burlison) - Msg-ID: <memo.453720@cix.compulink.co.uk> - Date: Wed, 11 Dec 96 18:34 GMT0 - Files: hints/svr4.sh - - Title: "Re: db-recno.t failures with _11 on Freebsd 2.1-stable" - From: Roderick Schertler - Msg-ID: <pzohg0r5tr.fsf@eeyore.ibcinc.com> - Date: 11 Dec 1996 18:58:56 -0500 - Files: INSTALL hints/freebsd.sh - - Title: "OS/2 updates from Ilya" - From: Ilya Zakharevich - Files: README.os2 os2/Changes os2/Makefile.SHs os2/os2.c os2/os2ish.h - - Title: "VMS patches to 5.003_11" - From: Charles Bailey - Msg-ID: <01ICTR32LCZG001A1D@hmivax.humgen.upenn.edu> - Date: Mon, 09 Dec 1996 23:16:10 -0500 (EST) - Files: MANIFEST regexec.c t/lib/filehand.t util.c vms/* - - TESTING - - Title: "recurse recurse recurse ..." - From: Jarkko Hietaniemi - Msg-ID: <199612092144.XAA29025@alpha.hut.fi> - Date: Mon, 9 Dec 1996 23:44:27 +0200 (EET) - Files: MANIFEST t/op/recurse.t - - UTILITIES, LIBRARY, AND EXTENSIONS - - Title: "Add CPAN and Net::FTP" - From: Chip Salzenberg - Files: MANIFEST lib/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm - lib/Net/FTP.pm lib/Net/Netrc.pm lib/Net/Socket.pm - pod/perlmod.pod - - Title: "Please update Text::Wrap and Text::Tabs" - From: David Muir Sharnoff <muir@idiom.com> - Msg-ID: <199612180659.WAA24957@idiom.com> - Date: Tue, 17 Dec 1996 22:59:59 -0800 (PST) - Files: lib/Text/Tabs.pm lib/Text/Wrap.pm - - Title: "Add File::Compare" - From: Nick Ing-Simmons - Msg-ID: <199612161844.SAA02152@pluto> - Date: Mon, 16 Dec 1996 18:44:59 GMT - Files: MANIFEST lib/File/Compare.pm pod/perlmod.pod - - Title: "Add Tie::RefHash" - From: Gurusamy Sarathy - Msg-ID: <199612152358.SAA28665@aatma.engin.umich.edu> - Date: Sun, 15 Dec 1996 18:58:08 -0500 - Files: MANIFEST lib/Tie/RefHash.pm pod/perlmod.pod - - Title: "Put "splain" in utils." - From: Chip Salzenberg - Files: Makefile.SH installperl utils/Makefile utils/splain.PL - - Title: "Some h2ph fixes" - From: Jeff Okamoto - Msg-ID: <199612131934.AA289845652@hpcc123.corp.hp.com> - Date: Fri, 13 Dec 1996 11:34:12 -0800 - Files: utils/h2ph.PL - - Title: "xsubpp patch to add #line" - From: Nick Ing-Simmons - Msg-ID: <199612162153.VAA03590@ni-s.u-net.com> - Date: Mon, 16 Dec 1996 21:53:56 GMT - Files: lib/ExtUtils/xsubpp - - Title: "Re: Proposed addition to File::Copy: move" - From: Charles Bailey - Msg-ID: <01ICZBN0LRC8001A1D@hmivax.humgen.upenn.edu> - Date: Sat, 14 Dec 1996 00:27:29 -0500 (EST) - Files: lib/File/Copy.pm t/lib/filecopy.t - - Title: "DB_File 1.09 patch" - From: Paul Marquess - Msg-ID: <9612181037.AA10123@claudius.bfsec.bt.co.uk> - Date: Wed, 18 Dec 96 10:37:58 GMT - Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs - - Title: "Debugger update" - From: Ilya Zakharevich - Msg-ID: <199612111038.FAA24363@monk.mps.ohio-state.edu> - Date: Wed, 11 Dec 1996 05:38:28 -0500 (EST) - Files: lib/perl5db.pl - - DOCUMENTATION - - Title: "Update pods: perldelta -> perlnews, perli18n -> perllocale" - From: Tom Christiansen and Dominic Dunlop - Files: MANIFEST pod/perl.pod pod/perldelta.pod pod/perli18n.pod - pod/perlnews.pod - - Title: "perltoot.pod" - From: Tom Christiansen - Msg-ID: <199612091444.HAA09947@toy.perl.com> - Date: Mon, 09 Dec 1996 07:44:10 -0700 - Files: MANIFEST pod/perltoot.pod - - Title: "Perlguts, version 25" - From: Jeff Okamoto - Msg-ID: <199612061940.AA055461228@hpcc123.corp.hp.com> - Date: Fri, 6 Dec 96 11:40:27 PST - Files: pod/perlguts.pod - - Title: "pod/perlipc.pod patch" - From: d-lewart@uiuc.edu (Daniel S. Lewart) - Msg-ID: <199612090910.CAA20906@mox.perl.com> - Date: Mon, 9 Dec 96 3:10:02 CST - Files: pod/perlipc.pod - - Title: "pod patches for English errors" - From: Steve Kelem <steve.kelem@xilinx.com> - Msg-ID: <24616.850167191@castor> - Date: Mon, 09 Dec 1996 13:33:11 -0800 - Files: pod/*.pod - - Title: "Misc doc updates" - From: Tom Christiansen - Msg-ID: <199612150156.SAA12506@mox.perl.com> - Date: Sat, 14 Dec 1996 18:56:33 -0700 - Files: pod/* - ----------------- -Version 5.003_11 ----------------- - -This patch is (still) closing in on 5.004. Nothing dramatic, lots of -value. - - CORE LANGUAGE CHANGES - - Title: "Fix precedence problems with subs as uniops or listops" - From: Chip Salzenberg - Files: perly.c perly.c.diff perly.h perly.y - - Title: "Don't reset $. on open()" - From: Chip Salzenberg - Files: pp_sys.c - - Title: "Support *glob{IO} (eventually deprecate *glob{FILEHANDLE})" - From: Chip Salzenberg - Files: pod/perlref.pod pp_hot.c sv.c - - Title: "Don't let expression context force return context" - From: Chip Salzenberg - Files: op.c - - Title: "Properly convert "1E2" et al to IV/UV" - From: Chip Salzenberg - Files: doio.c sv.c - - Title: "Fix modulo operator in UV realm" - From: Chip Salzenberg - Files: pp.c - - Title: "Fix stat(_) after stat(HANDLE)" - From: Chip Salzenberg - Files: pp_sys.c - - Title: "Fix: s/// and "$x =~ $y" under 'use locale'" - From: Chip Salzenberg - Files: op.c toke.c - - OTHER CORE CHANGES - - Title: "Eliminate spurious warning when splicing undefs" - From: Chip Salzenberg - Files: pp.c sv.h - - Title: "Eliminate spurious warning from "x=" operator" - From: Chip Salzenberg - Files: op.c - - Title: "Fix line numbers near control structures" - From: Chip Salzenberg - Files: op.c perly.c perly.c.diff perly.y proto.h - - Title: "Don't let scalar unpack() underflow stack" - From: Chip Salzenberg - Files: pp.c - - Title: "Fix core dump from precedence bug in "@foo" warning" - From: Chip Salzenberg - Files: toke.c - - Title: "Move die() to utils.c; add varargs hack to croak()" - From: Chip Salzenberg - Files: pp_ctl.c util.c - - Title: "Avoid memcmp() for magnitude test if it thinks char is signed" - From: Chip Salzenberg - Files: Configure config_H config_h.SH doop.c - ext/SDBM_File/sdbm/pair.c ext/SDBM_File/sdbm/sdbm.h handy.h - hv.c perl.h pp_hot.c proto.h regexec.c sv.c toke.c util.c - - Title: "Less malloc in magic" - From: Chip Salzenberg - Files: mg.c - - Title: "Re: 5.003_09: PADTMP fix" - From: Ilya Zakharevich - Msg-ID: <199611281150.GAA06884@monk.mps.ohio-state.edu> - Date: Thu, 28 Nov 1996 06:50:58 -0500 (EST) - Files: pod/perlguts.pod - - Title: "Fully paramaterize locales; disable all if NO_LOCALE" - From: Chip Salzenberg - Files: ext/POSIX/POSIX.xs op.c perl.h pp.c pp_sys.c sv.c util.c - - PORTABILITY AND TESTING - - Title: "Bitwise op fix for Alpha" - From: Chip Salzenberg - Files: pp.c - - Title: "hints/dgux.sh update" - From: Roderick Schertler - Msg-ID: <24178.849309616@eeyore.ibcinc.com> - Date: Fri, 29 Nov 1996 18:20:16 -0500 - Files: hints/dgux.sh - - Title: "BUG in hints/hpux.sh" - From: Jeff McDougal <jmcdo@cris.com> - Msg-ID: <32A42C11.7FA2@cris.com> - Date: Tue, 03 Dec 1996 08:33:05 -0500 - Files: hints/hpux.sh - - Title: "VMS patches for 5.003_10" - From: Charles Bailey - Msg-ID: <01ICMALO8NMS001A1D@hmivax.humgen.upenn.edu> - Date: Wed, 04 Dec 1996 16:40:12 -0500 (EST) - Files: EXTERN.h INTERN.h old_perl_exp.SH perl.c perl.h perl_exp.SH - pp.c pp_ctl.c pp_sys.c proto.h sv.c toke.c util.c - utils/perldoc.PL vms/config.vms vms/descrip.mms - vms/gen_shrfls.pl vms/genconfig.pl vms/vmsish.h - - Title: "_10+ under OS/2" - From: Ilya Zakharevich - Msg-ID: <199612011107.GAA10805@monk.mps.ohio-state.edu> - Date: Sun, 1 Dec 1996 06:07:19 -0500 (EST) - Files: malloc.c os2/diff.configure - - LIBRARY AND EXTENSIONS - - Title: "{in,ob}structive pods" - From: Tom Christiansen - Msg-ID: <199611301652.JAA24201@toy.perl.com> - Date: Sat, 30 Nov 1996 09:52:57 -0700 - Files: MANIFEST lib/Class/Template.pm lib/File/stat.pm - lib/Net/hostent.pm lib/Net/netent.pm lib/Net/protoent.pm - lib/Net/servent.pm lib/Time/gmtime.pm lib/Time/localtime.pm - lib/Time/tm.pm lib/User/grent.pm lib/User/pwent.pm - - Title: "FileHandle that 'ISA' IO::File" - From: Nick Ing-Simmons - Msg-ID: <199612021718.RAA04416@pluto> - Date: Mon, 2 Dec 1996 17:18:02 GMT - Files: MANIFEST lib/FileHandle.pm - - Title: "Make IO::File::import use its parameters" - From: Chip Salzenberg - Files: ext/IO/lib/IO/File.pm - - Title: "10+ debugger patch" - From: Ilya Zakharevich - Msg-ID: <199612011137.GAA10864@monk.mps.ohio-state.edu> - Date: Sun, 1 Dec 1996 06:37:31 -0500 (EST) - Files: lib/perl5db.pl perl.c pod/perldebug.pod - - Title: "Don't call CORE::close in file handle DESTROY method" - From: Chip Salzenberg - Files: ext/IO/lib/IO/Handle.pm - - Title: "Re: Namespace cleanup: Does SDBM need binary compatibility?" - From: Hallvard B Furuseth - Msg-ID: <199612031445.PAA19056@bombur2.uio.no> - Date: Tue, 3 Dec 1996 15:45:27 +0100 (MET) - Files: ext/SDBM_File/sdbm/pair.h ext/SDBM_File/sdbm/sdbm.3 - - Title: "DB_File 1.07" - From: Paul Marquess - Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs t/lib/db-btree.t - t/lib/db-recno.t - - Title: "DB_File 1.08" - From: Paul Marquess - Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs - - ----------------- -Version 5.003_10 ----------------- - -This patch is closing in on 5.004. It contains lots of small and -valuable changes, but nothing dramatic. - - CORE LANGUAGE CHANGES - - Title: "Allow &{sub {...}} without warning" - From: Chip Salzenberg - Files: toke.c - - Title: "Make parens optional on [gs]ethost and [gs]et{pw,gr} functions - From: John L. Allen <allen@gateway.grumman.com> - Files: toke.c - - Title: "Fix syntax error with "$x [0]" and "$x {y}" and "@x {y}"" - From: Chip Salzenberg - Files: toke.c - - OTHER CORE CHANGES - - Title: "Fix regex matching of chars with high bit set" - From: Chip Salzenberg - Files: regexec.c - - Title: "Hash key memory corruption fix and naming cleanup" - From: Chip Salzenberg - Files: hv.c hv.h perl.h - - Title: "Undo broken perf. patch (PADTMP stealing)" - From: Chip Salzenberg - Files: sv.c - - Title: "Make SV unstudied in sv_gets()" - From: Chip Salzenberg - Files: sv.c - - Title: "Better support for UVs" - From: Paul Marquess - Files: global.sym old_global.sym perl.h pp.c pp.h proto.h sv.c sv.h - - Title: "Minor locale cleanups" - (Accept "POSIX" locale as standard like "C". Reset locale to - 'C' when testing strtod() in t/lib/posix.t.) - From: Chip Salzenberg - Files: t/lib/posix.t util.c - - Title: "Always taint result of sprintf() on float" - From: Chip Salzenberg - Files: doop.c - - Title: "Fix spurious warning from bitwise string ops" - From: Chip Salzenberg - Files: doop.c - - Title: "Eliminate warning on {,sys}read(,$newvar,)" - From: Chip Salzenberg - Files: doop.c pp_sys.c - - Title: "Don't call fcntl(fileno(rsfp)) if !rsfp" - From: Chip Salzenberg - Files: perl.c - - Title: "Save message when calling __DIE__ hook" - From: Chip Salzenberg - Files: pp_ctl.c - - Title: "Namespace cleanup" - From: Chip Salzenberg - Files: global.sym old_global.sym perl.h - - Title: "Modify perl_exp.SH; create old_perl_exp.SH; document old_*" - From: Chip Salzenberg - Files: Configure INSTALL MANIFEST old_perl_exp.SH perl_exp.SH - - PORTABILITY - - Title: "Reliable signal patch" - From: Kenneth Albanowski - Msg-ID: <Pine.LNX.3.93.961126053209.294J-100000@kjahds.com> - Date: Tue, 26 Nov 1996 05:40:50 -0500 (EST) - Files: global.sym mg.c old_global.sym perl.h pp_sys.c proto.h util.c - - Title: "Emulate missing flock() with either fcntl() or lockf()" - From: Chip Salzenberg - Files: pp_sys.c - - Title: "3_09: minor patches for OS/2" - From: Ilya Zakharevich - Msg-ID: <199611270830.DAA04985@monk.mps.ohio-state.edu> - Date: Wed, 27 Nov 1996 03:30:05 -0500 (EST) - Files: doio.c global.sym malloc.c old_global.sym os2/Makefile.SHs - os2/OS2/ExtAttr/Makefile.PL os2/OS2/PrfDB/Makefile.PL - os2/OS2/Process/Makefile.PL os2/OS2/REXX/Makefile.PL - os2/os2.c os2/os2ish.h perl.h - - Title: "Re: 5.003_09 and QNX" - From: nort@bottesini.harvard.edu (Norton Allen) - Msg-ID: <9611271836.AA14460@bottesini.harvard.edu> - Date: Wed, 27 Nov 96 13:36:06 est - Files: Configure MANIFEST README.qnx hints/qnx.sh qnx/ar qnx/cpp - t/TEST toke.c util.c x2p/proto.h - - Title: "Re: updated patch on the sysread, syswrite for VMS" - From: Charles Bailey - Msg-ID: <01ICB648K2XG001A1D@hmivax.humgen.upenn.edu> - Date: Tue, 26 Nov 1996 17:28:23 -0500 (EST) - Files: t/op/sysio.t - - LIBRARY AND EXTENSIONS - - Title: "Minor patch to debugger" - From: Ilya Zakharevich - Msg-ID: <199611290533.AAA08053@monk.mps.ohio-state.edu> - Date: Fri, 29 Nov 1996 00:33:49 -0500 (EST) - Files: lib/perl5db.pl - - Title: "AutoLoader::AUTOLOAD optimization" - From: Nick Ing-Simmons - Msg-ID: <199611231954.TAA09921@ni-s.u-net.com> - Date: Sat, 23 Nov 1996 19:54:52 GMT - Files: lib/AutoLoader.pm - - Title: "Diagnostic cleanup" - From: Chip Salzenberg - Files: lib/diagnostics.pm pod/perldiag.pod - - DOCUMENTATION - - Title: "Improve documentation for sysread() and syswrite()" - From: Chip Salzenberg - Files: pod/perlfunc.pod - - Title: "Document how to use $SIG{ALRM} and alarm()" - From: Roderick Schertler - Msg-ID: <5898.849026569@eeyore.ibcinc.com> - Date: Tue, 26 Nov 1996 11:42:49 -0500 - Files: pod/perlfunc.pod - - ----------------- -Version 5.003_09 ----------------- - -This patch was a compendium of various fixes and enhancements from -many people, including some serious improvement in lexical variable -scoping and locale handling. - - CORE LANGUAGE CHANGES - - Title: "Lexical locales" - (make effectiveness of locales depend on C<use locale>) - From: Chip Salzenberg - Files: too many to list - - Title: "Lexical scoping cleanup" - (tighten scoping of lexical variables, somewhat on the - new constructs and somewhat on the old) - From: Chip Salzenberg - Files: many... but mostly perly.y and toke.c - - Title: "Re: memory corruption / security bug in sysread,syswrite + pa - From: Jarkko Hietaniemi - Msg-ID: <199611251946.VAA30459@alpha.hut.fi> - Date: Mon, 25 Nov 1996 21:46:31 +0200 (EET) - Files: MANIFEST pod/perldiag.pod pod/perlfunc.pod pp_sys.c - t/op/sysio.t - - OTHER CORE CHANGES - - Title: "Configure fix for handling DynaLoader" - From: Chip Salzenberg - Files: Configure - - Title: "Properly prototype safe{malloc,calloc,realloc,free}." - From: Chip Salzenberg - Files: proto.h - - Title: "UnixWare 2.1 fix for perl5.003_08 - cope with fp->_cnt < -1, - From: John Hughes <john@AtlanTech.COM> - Msg-ID: <01BBD6EE.E915C860@malvinas.AtlanTech.COM> - Date: Wed, 20 Nov 1996 14:27:06 +0100 - Files: sv.c - - Title: ""static" call to UNIVERSAL::can" - From: Nick Ing-Simmons - Msg-ID: <199611211547.PAA15878@pluto> - Date: Thu, 21 Nov 1996 15:47:46 GMT - Files: universal.c - - Title: "die -> croak" - From: Gurusamy Sarathy - Msg-ID: <199611212111.QAA17070@aatma.engin.umich.edu> - Date: Thu, 21 Nov 1996 16:11:21 -0500 - Files: pp_ctl.c - - Title: "Patch for embed.pl when !EMBED && !MULTIPLICITY" - From: Chip Salzenberg - Files: embed.pl - - Title: "Add new symbols to old_global.sym, too." - From: Chip Salzenberg - Files: global.sym old_global.sym - - Title: "Cleanup of {,un}pack('w')." - From: Chip Salzenberg - Files: pp.c - - Title: "Cleanups from Ilya." - From: Chip Salzenberg - Files: gv.c malloc.c pod/perlguts.pod pp_ctl.c - - Title: "Fix for unpack('w') on 64-bit systems." - From: Chip Salzenberg - Files: pp.c - - Title: "Re: LC_NUMERIC support is ready + performance" - From: Ilya Zakharevich - Msg-ID: <199611260308.WAA02677@monk.mps.ohio-state.edu> - Date: Mon, 25 Nov 1996 22:08:27 -0500 (EST) - Files: sv.c - - Title: "Hash key sharing improvements from Ilya." - From: Chip Salzenberg - Files: hv.c hv.h proto.h - - Title: "Mortal stack pre-allocation from Ilya." - From: Chip Salzenberg - Files: pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c - - PORTABILITY - - Title: "VMS patches post-5.003_08" - From: Charles Bailey - Msg-ID: <1996Nov22.181631.1603238@hmivax.humgen.upenn.edu> - Date: Fri, 22 Nov 1996 18:16:31 -0500 (EST) - Files: lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_VMS.pm - lib/ExtUtils/MakeMaker.pm lib/File/Path.pm mg.c pp_ctl.c - utils/h2xs.PL vms/config.vms vms/descrip.mms - vms/gen_shrfls.pl vms/genconfig.pl vms/perlvms.pod vms/vms.c - vms/vmsish.h - - Title: "5.003_08: OS/2-specific bugs/enhancements" - From: Ilya Zakharevich - Msg-ID: <199611241147.GAA00490@monk.mps.ohio-state.edu> - Date: Sun, 24 Nov 1996 06:47:25 -0500 (EST) - Files: README.os2 hints/os2.sh os2/Changes os2/Makefile.SHs - os2/OS2/PrfDB/PrfDB.pm os2/os2.c - - Title: "HP patches didn't make it into _08 (fwd)" - From: Jeff Okamoto - Msg-ID: <199611260215.AA100414526@hpcc123.corp.hp.com> - Date: Mon, 25 Nov 96 18:15:26 PST - Files: ext/DynaLoader/dl_hpux.xs - - Title: "Another HP "patch" that didn't make it (new hints file)" - From: Jeff Okamoto - Msg-ID: <199611252116.AA245766577@hpcc123.corp.hp.com> - Date: Mon, 25 Nov 1996 13:16:17 -0800 - Files: hints/hpux.sh - - LIBRARY AND EXTENSIONS - - Title: "Elide spurious space in db-hash.t" - From: Chip Salzenberg - Files: t/lib/db-hash.t - - Title: "Update documentation and warning in I18N::Collate." - From: Chip Salzenberg - Files: lib/I18N/Collate.pm - - Title: "Fix bitwise op test; clean up a couple of others" - From: Chip Salzenberg - Files: t/lib/bigintpm.t t/op/bop.t t/op/overload.t - - Title: "minimal timelocal.pl for _09" - From: Achim Bohnet <ach@rosat.mpe-garching.mpg.de> - Msg-ID: <9611191854.AA19586@o09.rosat.mpe-garching.mpg.de> - Date: Tue, 19 Nov 1996 19:54:23 +0100 - Files: lib/Time/Local.pm - - Title: "Socket test improvement from Ilya." - From: Chip Salzenberg - Files: t/lib/io_sock.t - - Title: "Re: blib" - From: Nick Ing-Simmons - Msg-ID: <199611230917.JAA00471@ni-s.u-net.com> - Date: Sat, 23 Nov 1996 09:17:40 GMT - Files: lib/blib.pm - - DOCUMENTATION - - Title: "perldiag documentation patch." - From: Paul Marquess - Msg-ID: <9611201607.AA12729@claudius.bfsec.bt.co.uk> - Date: Wed, 20 Nov 96 16:07:28 GMT - Files: pod/perldiag.pod - - Title: "a missing perldiag entry" - From: Gurusamy Sarathy - Msg-ID: <199611212024.PAA15758@aatma.engin.umich.edu> - Date: Thu, 21 Nov 1996 15:24:02 -0500 - Files: pod/perldiag.pod - - Title: "perlfunc patch" - From: Paul Marquess - Msg-ID: <9611201404.AA12477@claudius.bfsec.bt.co.uk> - Date: Wed, 20 Nov 96 14:04:08 GMT - Files: pod/perlfunc.pod - - Title: "Patch for pod/perlpod.pod" - From: "Joseph S. Myers" <jsm28@cam.ac.uk> - Msg-ID: <Pine.LNX.3.95.961120235016.6666A-100000@hammer.chu.cam.ac.uk - Date: Wed, 20 Nov 1996 23:54:41 +0000 (GMT) - Files: pod/perlpod.pod - - Title: "Update locale documentation." - From: Chip Salzenberg - Files: pod/perli18n.pod - - BUNDLED UTILITIES - - Title: "Fix type mismatches in x2p's safe{alloc,realloc,free}." - From: Chip Salzenberg - Files: x2p/util.c - - ----------------- -Version 5.003_08 ----------------- - -This patch was a compendium of various fixes and enhancements from -many people. Here are some of the more significant changes. - - - CORE LANGUAGE CHANGES - - Title: "Make C<no FOO> fail if C<unimport FOO> fails" - From: Tim Bunce - Files: gv.c - - Title: "Bitwise op sign rationalization" - (Make bitwise ops result in unsigned values, unless C<use - integer> is in effect. Includes initial support for UVs.) - From: Chip Salzenberg - Files: op.c opcode.pl pod/perlop.pod pod/perltoc.pod pp.c pp.h - pp_hot.c proto.h sv.c t/op/bop.t - - Title: "Defined scoping for C<my> in control structures" - (Finally defines semantics of "my" in control expressions, - like the condition of "if" and "while". In all cases, scope - of a "my" var extends to the end of the entire control - structure. Also adds new construct "for my", which - automatically declares the control variable "my" and limits - its scope to the loop.) - From: Chip Salzenberg - Files: op.c perly.c perly.c.diff perly.h perly.y proto.h toke.c - - Title: "Fix ++/-- after int conversion (e.g. 'printf "%d"')" - (This patch makes Perl correctly ignore SvIVX() if either - NOK or POK is true, since SvIVX() may be a truncated or - overflowed version of the real value.) - From: Chip Salzenberg - Files: pp.c pp_hot.c sv.c - - Title: "Make code match Camel II re: functions that use $_" - From: Paul Marquess - Files: opcode.pl - - Title: "Provide scalar context on left side of "->"" - From: Chip Salzenberg - Files: perly.c perly.y - - Title: "Quote bearword package/handle FOO in "funcname FOO => 'bar'"" - From: Chip Salzenberg - Files: toke.c - - - OTHER CORE CHANGES - - Title: "Warn on overflow of octal and hex integers" - From: Chip Salzenberg - Files: proto.h toke.c util.c - - Title: "If -w active, warn for commas and hashes ('#') in qw()" - From: Chip Salzenberg - Files: toke.c - - Title: "Fixes for pack('w')" - From: Ulrich Pfeifer - Files: pp.c t/op/pack.t - - Title: "More complete output from sv_dump()" - From: Gurusamy Sarathy - Files: sv.c - - Title: "Major '..' and debugger patches" - From: Ilya Zakharevich - Files: lib/perl5db.pl op.c pp_ctl.c scope.c scope.h - - Title: "Fix for formline()" - From: Gurusamy Sarathy - Files: global.sym mg.c perl.h pod/perldiag.pod pp_ctl.c proto.h sv.c - t/op/write.t - - Title: "Fix stack botch in untie and binmode" - From: Gurusamy Sarathy - Files: pp_sys.c - - Title: "Complete EMBED, including symbols from interp.sym" - (New define EMBEDMYMALLOC makes embedding total by - avoiding "Mymalloc" etc.) - From: Chip Salzenberg - Files: MANIFEST embed.pl ext/DynaLoader/dlutils.c - ext/SDBM_File/sdbm/sdbm.h global.sym handy.h malloc.c - perl.h pp_sys.c proto.h regexec.c toke.c util.c - x2p/Makefile.SH x2p/a2p.h x2p/handy.h x2p/util.h - - Title: "Support old embedding for people who want it" - From: Chip Salzenberg - Files: MANIFEST Makefile.SH old_embed.pl old_global.sym - - - PORTABILITY - - Title: "Miscellaneous VMS fixes" - From: Charles Bailey - Files: lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_VMS.pm - lib/Math/Complex.pm lib/Time/Local.pm lib/timelocal.pl - perl.h perl_exp.SH proto.h t/TEST t/io/read.t - t/lib/findbin.t t/lib/getopt.t util.c utils/h2xs.PL - vms/Makefile vms/config.vms vms/descrip.mms - vms/ext/Stdio/Stdio.pm vms/ext/Stdio/Stdio.xs - vms/perlvms.pod vms/test.com vms/vms.c - - Title: "DJGPP patches (MS-DOS)" - From: "Douglas E. Wegscheid" <wegscd@whirlpool.com> - Files: doio.c dosish.h ext/SDBM_File/sdbm/sdbm.c handy.h - lib/AutoSplit.pm lib/Cwd.pm lib/File/Find.pm malloc.c perl.c - perl.h pp_sys.c proto.h sv.c util.c - - Title: "Plan 9 update" - From: Luther Huffman <lutherh@infinet.com> - Files: plan9/buildinfo plan9/config.plan9 plan9/exclude - plan9/genconfig.pl plan9/mkfile plan9/setup.rc - - Title: "Patch to make Perl work under AmigaOS" - From: Norbert Pueschel - Files: MANIFEST hints/amigaos.sh installman lib/File/Basename.pm - lib/File/Find.pm pod/pod2man.PL pp_sys.c util.c - - LIBRARY AND EXTENSIONS - - Title: "DB_File 1.05" - From: Paul Marquess - Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs t/lib/db-hash.t - - Title: "Getopts::Std patch for hash support" - From: Stephen Zander <stephen.zander@interlock.mckesson.com> - Files: lib/Getopt/Std.pm - - Title: "Kludge for bareword handles" - (Add 'require IO::Handle' at beginning of FileHandle.pm) - From: Chip Salzenberg - Files: ext/FileHandle/FileHandle.pm - - Title: "Re: strtod / strtol patch for POSIX module" - From: hammen@gothamcity.jsc.nasa.gov (David Hammen) - Files: Configure config_h.SH ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod - ext/POSIX/POSIX.xs t/lib/posix.t - - BUNDLED UTILITIES - - Title: "Fix a2p translation of '{print "a" "b" "c"}'" - From: Chip Salzenberg - Files: x2p/a2p.c x2p/a2p.y - - ----------------- -Version 5.003_07 ----------------- - -This patch was primarily to fix bugs or include little things I missed -in 5.003_06. 5.003_07 is intended to be stable enough to merit serious -testing with an eye towards eventual release as 5.004. - -If it doesn't work for you, try - - LC_ALL=C; export LC_ALL - -for Bourne shell users, or - - setenv LC_ALL C - -for C-shell users. Some versions of IRIX are reported to have -problems with sort when the locale is other than C. This manifests -as an infinite loop in the ./miniperl configpm step. - -The details are described below. A very brief summary is: - -o Visible Changes to Core Functionality - - -Support for BER compressed integers. See perlfunc.pod for - documentation on the 'w' option. - - -untaint support added to IO extension. - -o Changes in Core Internals - - -Perl's realloc is once again called 'Myremalloc' (with -DHIDEMYMALLOC), - as it was pre-5.003_01. Again, this is for binary compatibility - with 5.003. (5.003_06 erroneously called it Myrealloc.) - - -Getopt::Long updated to version 2.4. - -o Configure and build enhancements - - -improved SCO hints. Actually these are unconfirmed guesses, but - they may be right. - - -OS/2 and Plan9 updates. - -o Bug fixes - - -print sort (4,1,3,2); - - -group numbers are integers again. - - -other things. See the specific changes for details. - -o Specific Changes - -Here are the specific file-by-file changes. - -Index: Changes - - Updated for 5.003_07. - - Fixed a spelling error. - -Index: Configure - - Detect GNU libc (thanks, Skimo!) and avoid nm if we have GNU libc. - Since the GNU libc test requires compiling and linking a test - program, the dependencies have been altered and lots of pieces of - Configure have moved around unchanged. The patch is big but the - effect is little. - - Allow for both <sys/select.h> and <time.h> in fd_set tests. - Systems which don't allow both (e.g. SCO) have to turn off one - or the other in the hints file for now. - -Index: INSTALL - - Warn about re-using config.sh version-specific values. - -Index: MANIFEST - - Date: Tue, 8 Oct 1996 22:24:48 -0400 - From: "Randy J. Ray" <rjray@uswest.com> - Subject: PATCH: untaint method for IO::Handle, 5.003_06 version - - This is a re-post of my patch to Graham's IO library to add a method in - IO::Handle called "untaint", that sets the IOf_UNTAINT flag on an object - that is of or inherits from IO::Handle. With this flag set, data read from - said handle is not tainted, whether running under -T, suid or sgid. - - This patch adds the method to IO.xs, adds documentation and warning to the - pod of IO/Handle.pm, creates a new test in t/lib called io_taint.t, and - adds mention of the new file to MANIFEST. - - Add mention of t/lib/io_taint.t - - Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) - From: Ilya Zakharevich - - os2/Changes added. - -Index: Makefile.SH - - Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) - From: Ilya Zakharevich - - All the executable targets are moved into the same chunk with - shared library target, which is delegated to - $osname/Makefile.SHs if found. - config.h should depend on config_h.SH. - - Remove mkmanifest target, since it will generate incorrectly - sorted MANIFEST file, I would imagine (I haven't checked). - -Index: README.os2 - - New version. - -Index: config_H - - Update SH_PATH comment. - -Index: config_h.SH - - Update SH_PATH comment. - -Index: ext/IO/IO.xs - - Date: Tue, 8 Oct 1996 22:24:48 -0400 - From: "Randy J. Ray" <rjray@uswest.com> - Subject: PATCH: untaint method for IO::Handle, 5.003_06 version - - This is a re-post of my patch to Graham's IO library to add a method in - IO::Handle called "untaint", that sets the IOf_UNTAINT flag on an object - that is of or inherits from IO::Handle. With this flag set, data read from - said handle is not tainted, whether running under -T, suid or sgid. - - This patch adds the method to IO.xs, adds documentation and warning to the - pod of IO/Handle.pm, creates a new test in t/lib called io_taint.t, and - adds mention of the new file to MANIFEST. - - Add method "untaint" into class IO::Handle - -Index: ext/IO/lib/IO/Handle.pm - - Date: Tue, 8 Oct 1996 22:24:48 -0400 - From: "Randy J. Ray" <rjray@uswest.com> - Subject: PATCH: untaint method for IO::Handle, 5.003_06 version - - This is a re-post of my patch to Graham's IO library to add a method in - IO::Handle called "untaint", that sets the IOf_UNTAINT flag on an object - that is of or inherits from IO::Handle. With this flag set, data read from - said handle is not tainted, whether running under -T, suid or sgid. - - This patch adds the method to IO.xs, adds documentation and warning to the - pod of IO/Handle.pm, creates a new test in t/lib called io_taint.t, and - adds mention of the new file to MANIFEST. - - Document IO::Handle::untaint and give warning about the bad - things it can do. - -Index: ext/SDBM_File/sdbm/sdbm.h - - Change Myrealloc to Myremalloc to conform to 5.003's version. - I left in the Mycalloc since malloc.c now includes a calloc, - and we might need to hide it. - -Index: gv.c - - Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) - From: Ilya Zakharevich - - Better error message for overload. - -Index: hints/os2.sh - - Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) - From: Ilya Zakharevich - - Some optimization (speedup in loading GNU utilities with some - memory present - 32M should be quite enough). - Test for revision of EMX, and setting fork()ing appropriately. - libc was in .../st/... instead of mt. - README.os2 is installed as pod/perlos2.pod. - -Index: hints/sco.sh - - Don't include <sys/select.h> along with <time.h>. - -Index: installperl - - Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) - From: Ilya Zakharevich - - Restore timestamps under OS/2 (needed for binary install). - -Index: lib/Cwd.pm - - Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) - From: Ilya Zakharevich - - Use builtin methods if present under OS/2 (maybe should be - done outside of OS/2 too?). - -Index: lib/ExtUtils/MM_Unix.pm - - Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) - From: Ilya Zakharevich - - Made `use strict'-clean even in parts shadowed by Autoloading. - -Index: lib/ExtUtils/typemap - - Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) - From: Ilya Zakharevich - - `bool' entry added. - -Index: lib/ExtUtils/xsubpp - - Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) - From: Ilya Zakharevich - - Logic for processing RETVAL documented (at last!). - -Index: lib/File/Copy.pm - - Date: Thu, 10 Oct 1996 00:42:29 -0400 (EDT) - From: Ilya Zakharevich - Subject: Cleanup after new test - - Below are patches for File::Copy (copying to filehandles was just - plain broken under OS/2 and VMS) - -Index: lib/FindBin.pm - - Date: Fri, 20 Sep 1996 15:04:04 +0200 - From: Gisle Aas - Subject: Documentation patch to the FindBin module - -Index: lib/Getopt/Long.pm - - Update to version 2.4. - -Index: lib/lib.pm - - Date: Thu, 10 Oct 1996 14:22:05 -0400 - From: "Brent B. Powers" <powers@ml.com> - Subject: Re: patch for lib.pm - - Ignore undefined entries. - -Index: lib/newgetopt.pl - - Updated to version 2.4 to match Getopt::Long. - -Index: makedepend.SH - - Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) - From: Ilya Zakharevich - - weed out perl_exp.SH, config_h.SH - (They have these funny names to avoid names like perl.exp.SH - with more than two '.' Such names are illegal on some systems.) - -Index: mg.c - - Date: Thu, 10 Oct 1996 14:33:08 +0000 () - From: Chip Salzenberg - Subject: Re: Group fix for 5.003_06 - - The group problems recently experienced are due to a small error - introduced in 5.003_06. This patch is required to fix the bug: - -Index: os2/Changes - - Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) - From: Ilya Zakharevich - - sys/un.h is not very useful without Merlin toolkit. - updates for fork()ing. - - Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) - From: Ilya Zakharevich - - added. - -Index: os2/Makefile.SHs - - Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) - From: Ilya Zakharevich - - Convoluted process to create chimera executables added. - aout_clean is done automatically on clean. - -Index: os2/OS2/ExtAttr/t/os2_ea.t - - Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) - From: Ilya Zakharevich - - Use `unlink' where appropriate. - -Index: os2/diff.configure - - Updated. - -Index: os2/os2.c - - Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) - From: Ilya Zakharevich - - /bin/sh is translated to the configured value of location of sh.exe. - popen() used even if we can fork (as we do now). - builtins added for the sake of path manipulation. - -Index: os2/os2ish.h - - Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) - From: Ilya Zakharevich - - sys/un.h is not very useful without Merlin toolkit. - updates for fork()ing. - -Index: patchlevel.h - - Change to subversion 7. - -Index: perl.c - - Date: Wed, 9 Oct 1996 19:03:41 +0000 - From: Tim Bunce - Subject: Infinte loop with perl_destruct_level and $SIG{__WARN__} - - I've just started using purify on a perl with DBD::Oracle linked in - (the number of uninitialised memory reads in the Oracle libraries - is frightning!). - - If perl_destruct_level and $SIG{__WARN__} are set then I see a range - of problems typified by this example and folowed by a core dump: - - Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) - From: Ilya Zakharevich - - Copywrite of OS/2 port now has \n\n. - Now deletes -e file (again!) if compilation is interrupted. - -Index: perl.h - - Change Myrealloc to Myremalloc to conform to 5.003's version. - I left in the Mycalloc since malloc.c now includes a calloc, - and we might need to hide it. - -Index: plan9/aperl - - Updated for 5.003_07 - -Index: plan9/arpa/inet.h - - Updated for 5.003_07 - -Index: plan9/buildinfo - - Updated for 5.003_07 - -Index: plan9/config.plan9 - - Updated for 5.003_07 - -Index: plan9/exclude - - Updated for 5.003_07 - -Index: plan9/fndvers - - Updated for 5.003_07 - -Index: plan9/genconfig.pl - - Updated for 5.003_07 - -Index: plan9/mkfile - - Updated for 5.003_07 - -Index: plan9/myconfig.plan9 - - Updated for 5.003_07 - -Index: plan9/perlplan9.doc - - Updated for 5.003_07 - -Index: plan9/perlplan9.pod - - Updated for 5.003_07 - -Index: plan9/plan9.c - - Updated for 5.003_07 - -Index: plan9/plan9ish.h - - Updated for 5.003_07 - -Index: plan9/setup.rc - - Updated for 5.003_07 - -Index: plan9/versnum - - Updated for 5.003_07 - -Index: pod/perldiag.pod - - Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) - From: Ilya Zakharevich - - mention that malloc in berkeley DB is broken, and PERL_BADFREE. - OS/2-specific messages added. - -Index: pod/perlfunc.pod - - Date: 20 Sep 1996 13:17:14 +0200 - From: Ulrich Pfeifer - Subject: Re: Patch for ASN.1 compressed integer in pack/unpack - -Index: pod/perli18n.pod - - Updated version with high bits intact. - -Index: pod/perlop.pod - - Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) - From: Ilya Zakharevich - - Crossrefs corrected. - -Index: pod/perltrap.pod - - Clarified that warn() _always_ printed to STDERR, both in perl4 - and perl5. - -Index: pod/perlvar.pod - - Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) - From: Ilya Zakharevich - - $^E under OS/2. - -Index: pp.c - - Date: 20 Sep 1996 13:17:14 +0200 - From: Ulrich Pfeifer - Subject: Re: Patch for ASN.1 compressed integer in pack/unpack - -Index: pp_sys.c - - Date: Wed, 9 Oct 1996 19:07:24 GMT - From: Chris Faylor <cgf@bbc.com> - - The problem is that SCO apparently needs to have a file opened - with write privileges for chsize to work correctly. - -Index: sv.c - - Date: Tue, 08 Oct 1996 23:54:47 -0400 - From: Gurusamy Sarathy - Subject: Re: Sorting lists of integers doesn't always work - - >> > print sort (4,1,2,3); - >> > - >> > actually prints "4123", i.e. doesn't actually sort. Bug? Feature? - - This broke between 5.001n and 5.002. There was a long winded thread - about sorting undefs in some order (rather than coredumping) around - the 5.002beta times (search for "bogorefs" in the subject-line on - p5p archive for details). Larry added in some code that presumes that - the private flags are set by the time qsort() is called: - - Unfortunately, sv_2pv() does not set the POKp flag, so the above - code breaks! Here's a patch against 5.00306. - -Index: t/lib/anydbm.t - - Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) - From: Ilya Zakharevich - - File mode under OS/2 is not what you expect. However, this has - nothing to do with databases, _and_ there is a test - for this in stat.t (which dutifully fails). There is - no point to consider this behaviour as a bug in - database code. - So OS/2 is special-cased in these tests. - -Index: t/lib/db-btree.t - - Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) - From: Ilya Zakharevich - - File mode under OS/2 is not what you expect. However, this has - nothing to do with databases, _and_ there is a test - for this in stat.t (which dutifully fails). There is - no point to consider this behaviour as a bug in - database code. - So OS/2 is special-cased in these tests. - -Index: t/lib/db-hash.t - - Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) - From: Ilya Zakharevich - - File mode under OS/2 is not what you expect. However, this has - nothing to do with databases, _and_ there is a test - for this in stat.t (which dutifully fails). There is - no point to consider this behaviour as a bug in - database code. - So OS/2 is special-cased in these tests. - -Index: t/lib/db-recno.t - - Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) - From: Ilya Zakharevich - - File mode under OS/2 is not what you expect. However, this has - nothing to do with databases, _and_ there is a test - for this in stat.t (which dutifully fails). There is - no point to consider this behaviour as a bug in - database code. - So OS/2 is special-cased in these tests. - -Index: t/lib/gdbm.t - - Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) - From: Ilya Zakharevich - - File mode under OS/2 is not what you expect. However, this has - nothing to do with databases, _and_ there is a test - for this in stat.t (which dutifully fails). There is - no point to consider this behaviour as a bug in - database code. - So OS/2 is special-cased in these tests. - -Index: t/lib/io_pipe.t - - Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) - From: Ilya Zakharevich - - Better error message on dying. - -Index: t/lib/io_taint.t - - Date: Tue, 8 Oct 1996 22:24:48 -0400 - From: "Randy J. Ray" <rjray@uswest.com> - Subject: PATCH: untaint method for IO::Handle, 5.003_06 version - - This is a re-post of my patch to Graham's IO library to add a method in - IO::Handle called "untaint", that sets the IOf_UNTAINT flag on an object - that is of or inherits from IO::Handle. With this flag set, data read from - said handle is not tainted, whether running under -T, suid or sgid. - - This patch adds the method to IO.xs, adds documentation and warning to the - pod of IO/Handle.pm, creates a new test in t/lib called io_taint.t, and - adds mention of the new file to MANIFEST. - - Test suite for the untaint method of class IO::Handle. - -Index: t/lib/ndbm.t - - Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) - From: Ilya Zakharevich - - File mode under OS/2 is not what you expect. However, this has - nothing to do with databases, _and_ there is a test - for this in stat.t (which dutifully fails). There is - no point to consider this behaviour as a bug in - database code. - So OS/2 is special-cased in these tests. - -Index: t/lib/odbm.t - - Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) - From: Ilya Zakharevich - - File mode under OS/2 is not what you expect. However, this has - nothing to do with databases, _and_ there is a test - for this in stat.t (which dutifully fails). There is - no point to consider this behaviour as a bug in - database code. - So OS/2 is special-cased in these tests. - -Index: t/lib/sdbm.t - - Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) - From: Ilya Zakharevich - - File mode under OS/2 is not what you expect. However, this has - nothing to do with databases, _and_ there is a test - for this in stat.t (which dutifully fails). There is - no point to consider this behaviour as a bug in - database code. - So OS/2 is special-cased in these tests. - -Index: t/lib/socket.t - - Date: Thu, 10 Oct 1996 01:09:59 -0400 - From: Spider Boardman - Subject: Re: 5.003_06 is available (results on ULTRIX) - - fix t/lib/socket.t to treat TCP like the stream protocol it is - rather than expecting it behave rationally in all cases. - -Index: t/op/pack.t - - Date: 20 Sep 1996 13:17:14 +0200 - From: Ulrich Pfeifer - Subject: Re: Patch for ASN.1 compressed integer in pack/unpack - -Index: t/op/sort.t - - Date: Wed, 09 Oct 1996 00:41:27 -0400 - From: Gurusamy Sarathy - Subject: more t/op/sort.t tests - -Index: util.c - - Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) - From: Ilya Zakharevich - - uses my_syspopen, my_syspclose ifdef OS2. my_pclose is defined - as my_syspclose ifdef OS2 and can FORK (as OS2 does). - -Index: x2p/Makefile.SH - - Date: Wed, 9 Oct 96 16:00:29 edt - From: Norton Allen <nort@bottesini.harvard.edu> - Subject: Re: sh Configure? - - Extract x2p/Makefile.SH and x2p/cflags.SH correctly down - in the x2p directory, even if $0 isn't set to the full - pathname of the file being extracted. - -Index: x2p/cflags.SH - - Date: Wed, 9 Oct 96 16:00:29 edt - From: Norton Allen <nort@bottesini.harvard.edu> - Subject: Re: sh Configure? - - Extract x2p/Makefile.SH and x2p/cflags.SH correctly down - in the x2p directory, even if $0 isn't set to the full - pathname of the file being extracted. - - ----------------- -Version 5.003_06 ----------------- - -This patch was primarily to fix bugs, improve the documentation, -and work towards restoring binary compatibility with 5.003. -The details are described below. A very brief summary is: - -o Visible Changes to Core Functionality - - -Significantly improved support _with documentation_ for - locales, including LC_COLLATE. See the new pod/perli18n.pod. - Thanks to Jarkko Hietaniemi. - - -new version of Math::Complex, with test suite. Ought to be - backwards compatible, but check it out if you use Math::Complex. - - -Pre-extending hashes now works. keys %hash = 5000 will pre-size - %hash. - - -__DATA__ filehandle is untainted. - -o Changes in Core Internals - - -gv_fullname and gv_efullname have reverted to their pre-5.003_03 - versions for binary compatibility. Actually, they are implemented - as stubs pointing to the new 3-argument forms gv_fullname3 and - gv_efullname3. - - -Perl's malloc is once again called 'Mymalloc' (with -DHIDEMYMALLOC), - as it was pre-5.003_01. Again, this is for binary compatibility - with 5.003. - -o Configure and build enhancements - - -many new tests for the standard library. - - -test suite now locale-friendly. - - -a2p.man and s2p.man now made into pods. - -o Bug fixes - - -whitespace lexer errors fixed. - - -many, many other things. See details below. - -o Specific Changes - -Here are the specific file-by-file changes. - -# This is my patch perl5.003_06.pat to perl5.003_05 -# The full description is below. -# Please execute the following commands before applying this patch. -# (You can feed this patch to 'sh' to do so.) -# -- Andy Dougherty - -# We'll create some new tests, but patch won't automatically make them -# executable. -for t in abbrev.t autoloader.t basename.t checktree.t complex.t \ - env.t fatal.t filecache.t filecopy.t filefind.t filepath.t \ - findbin.t getopt.t hostname.t parsewords.t searchdict.t \ - selectsaver.t symbol.t texttabs.t textwrap.t timelocal.t -do - touch t/lib/$t - chmod +x t/lib/$t -done - -# The a2p.man and s2p.man pages have been changed into pods. -rm -f x2p/a2p.man x2p/s2p.man - -exit 0 - - -This is patch perl5.003_06.pat to perl version 5.003_05. -This takes you from 5.003_05 to 5.003_06. - -To apply this patch, run the above commands, -cd to your perl source directory and then type - - patch -p1 -N < perl5.003_06.pat - -The changes are described after each /^Index:/ line below. This is -designed so you can examine each change with a command such as - - csplit -k perl5.003_06.pat '/^Index:/' '{999}' - -(Of course, since there are more than 100 Index entries, your -csplit may complain, since many csplit's have an arbitrary limit of 100 -files. Still, you can manually split the file or roll your own.) - -Index: Changes - - Updated for 5.003_06. - -Index: Configure - - Add -Wl,rpath option for irix* to find the installed shared - libperl.so - - Add /shlib to libpth. It is used by Digital Unix 4.0. - - Date: Mon, 30 Sep 1996 14:01:05 +0100 - From: Sven Verdoolaege <skimo@breughel.ufsia.ac.be> - - Detect Cygnus Win32, or at least don't let Configure get fooled - into thinking it's OS/2. - -Index: INSTALL - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - added LC_COLLATE doc. - -Index: MANIFEST - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - - Date: Sat, 28 Sep 1996 15:11:06 +0200 - From: Andreas Koenig - Subject: Dale's posting as patch (Was: Perl 5.003_5 make fails on NS3.2 - CURED) - - Handle NeXT, POSIX, and setpgid in pp_sys.c and POSIX. - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - added perli18n.pod. - -Index: README - - Changed Larry's address to larry@wall.org. - -Index: configpm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: configure - - Date: Mon, 30 Sep 1996 14:01:05 +0100 - From: Sven Verdoolaege <skimo@breughel.ufsia.ac.be> - - Warn the user of case-insensitive file systems that they may have - accidentally gotten 'configure' instead of 'Configure'. - -Index: doio.c - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - -Index: doop.c - - Date: Mon, 30 Sep 1996 01:13:28 -0400 - From: Spider Boardman - Subject: Re: pre extending hash? - need speed - - The patch below (which is relative to perl5.001l) implements - "keys %hash = 50_000;" (or other integer-evaluable sizes) for - pre-sizing hashes. I've only moved the patch forward from - when I first did it. I'm sure the code in hv_ksplit could be - improved. - -Index: dump.c - - Restore the 5.003 gv_fullname() and gv_efullname() functions. - Provide new 3-arg forms gv_fullname3() and gv_efullname3(). - -Index: embed.h - - Restore the 5.003 gv_fullname() and gv_efullname() functions. - Provide new 3-arg forms gv_fullname3() and gv_efullname3(). - -Index: ext/DynaLoader/DynaLoader.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: ext/FileHandle/FileHandle.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: ext/IO/IO.pm - - Updated to IO-1.12. - -Index: ext/IO/IO.xs - - Updated to IO-1.12. - -Index: ext/IO/lib/IO/File.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Updated to IO-1.12. - -Index: ext/IO/lib/IO/Handle.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Updated to IO-1.12. - -Index: ext/IO/lib/IO/Pipe.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Updated to IO-1.12. - -Index: ext/IO/lib/IO/Seekable.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Updated to IO-1.12. - -Index: ext/IO/lib/IO/Select.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Updated to IO-1.12. - -Index: ext/IO/lib/IO/Socket.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Updated to IO-1.12. - -Index: ext/NDBM_File/hints/dynixptx.pl - - Perl 5.003_05 compiles on DYNIX/ptx 4.0 (v4.1.3), and passes all tests. - The only change needed is in "ext/NDBM_File/Makefile.PL" - on this system, - ndbm is actually contained in the libc library, and must be linked against - -lc when compiling. (this is for dynamic ELF executables, I didn't compile - statically) - -Index: ext/Opcode/Opcode.pm - - Date: Fri, 20 Sep 1996 12:59:21 +0200 - From: Gisle Aas - Subject: Re: Symbol.pm clobbers $_ at startup - - The same kind of problem seem to be present in Opcode.pm: - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: ext/Opcode/Safe.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: ext/POSIX/POSIX.pod - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - enhanced setlocale() docs and introduced the one-argument variant doc. - -Index: ext/POSIX/POSIX.xs - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - setlocale() allowed one argument only, - call to perl_init_fold() (in util.c) if setlocale() succeeded. - -Index: ext/POSIX/hints/next_3.pl - - Date: Sat, 28 Sep 1996 15:11:06 +0200 - From: Andreas Koenig - Subject: Dale's posting as patch (Was: Perl 5.003_5 make fails on NS3.2 - CURED) - - Handle NeXT, POSIX, and setpgid in pp_sys.c and POSIX. - -Index: ext/SDBM_File/sdbm/sdbm.h - - Revert from Perl_malloc to Mymalloc for binary compatibility with - 5.003. - -Index: ext/Socket/Socket.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: global.sym - - Restore the 5.003 gv_fullname() and gv_efullname() functions. - Provide new 3-arg forms gv_fullname3() and gv_efullname3(). - - Date: Mon, 30 Sep 1996 01:13:28 -0400 - From: Spider Boardman - Subject: Re: pre extending hash? - need speed - - The patch below (which is relative to perl5.001l) implements - "keys %hash = 50_000;" (or other integer-evaluable sizes) for - pre-sizing hashes. I've only moved the patch forward from - when I first did it. I'm sure the code in hv_ksplit could be - improved. - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - added var lc_collate_active and func mem_collxfrm. - -Index: gv.c - - Restore the 5.003 gv_fullname() and gv_efullname() functions. - Provide new 3-arg forms gv_fullname3() and gv_efullname3(). - -Index: handy.h - - Date: Sat, 21 Sep 1996 21:33:15 -0400 (EDT) - From: Kenneth Albanowski - Subject: Full LONG_MAX & co. patch over 5.003_05 - - This patch contains the changes I've collected for the various _MAX issues - since 5.003_05. No patches issued between 5.003_05 and this one should be - applied, use this one instead. - - The effect is to remove the CHAR_* and I8_* constants (which are - ambiguous) and to explicitly cast all of the constants. - -Index: hints/machten.sh - - Add notes about MachTen 4.0.3 SYSV IPC. - -Index: hints/next_3.sh - - Replace optimize="-g" by optimize="" since we're just trying to turn off - the optimizier. - - Date: Sat, 28 Sep 1996 15:11:06 +0200 - From: Andreas Koenig - Subject: Dale's posting as patch (Was: Perl 5.003_5 make fails on NS3.2 - CURED) - - Handle NeXT, POSIX, and setpgid in pp_sys.c and POSIX. - -Index: hv.c - - Date: Fri, 20 Sep 1996 15:38:57 -0400 - From: Gurusamy Sarathy - Subject: Re: "Attempt to free non-existent shared string"? (with patch) - - I found a subtle problem with the lazydelete mechanism (which is used - to postpone the delete of a entry that may be getting iterated over). - I was using the HeKLEN slot to hold the hint, but the real HeKLEN is - needed later to call unsharepvn(). This means that only magical - hash entries can use the HeKLEN slot to hold flags. - - Here's a tested patch against 5.00305 that fixes the problem. - The patch simply moves the LAZYDEL hint to become a SV-level private - flag. - - Date: Mon, 30 Sep 1996 01:13:28 -0400 - From: Spider Boardman - Subject: Re: pre extending hash? - need speed - - The patch below (which is relative to perl5.001l) implements - "keys %hash = 50_000;" (or other integer-evaluable sizes) for - pre-sizing hashes. I've only moved the patch forward from - when I first did it. I'm sure the code in hv_ksplit could be - improved. - -Index: hv.h - - Date: Fri, 20 Sep 1996 15:38:57 -0400 - From: Gurusamy Sarathy - Subject: Re: "Attempt to free non-existent shared string"? (with patch) - - I found a subtle problem with the lazydelete mechanism (which is used - to postpone the delete of a entry that may be getting iterated over). - I was using the HeKLEN slot to hold the hint, but the real HeKLEN is - needed later to call unsharepvn(). This means that only magical - hash entries can use the HeKLEN slot to hold flags. - - Here's a tested patch against 5.00305 that fixes the problem. - The patch simply moves the LAZYDEL hint to become a SV-level private - flag. - -Index: installman - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: installperl - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/AutoLoader.pm - - Date: Mon Sep 9 09:29:44 1996 - From: Gisle Aas - Subject: Re: problem with 'die' and UserAgent - - > This is a patch to the AutoLoader.pm (from 5.003) that fixes the problem: - This is a better patch (no need to test for /::DESTROY$/ twice): - - Date: Mon, 30 Sep 1996 00:54:37 -0400 - From: Spider Boardman - - The test and patches for AutoLoader were also non-functional, - since the regexp context (curpm) was still being clobbered by the - filename manipulations: - - Date: Sun, 06 Oct 1996 16:15:07 +0200 - From: Gisle Aas - Subject: Re: Can't locate auto/U/autosplit.ix - - It would IMHO be much better if the AutoLoader exported the AUTOLOAD() - function. With an exported AUTOLOAD() we would not have to inherit - from AutoLoader, and we would avoid these problems. - - This patch tries to explain the behavior of AutoLoader instead by - updating its documentation. - -Index: lib/Benchmark.pm - - Date: Sat, 28 Sep 1996 17:01:22 +0300 (EET DST) - From: Jarkko Hietaniemi - Subject: a really really tiny typo - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/Cwd.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/Devel/SelfStubber.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/Env.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/Exporter.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/ExtUtils/Embed.pm - - Remove unwantd space after the I in -I$Config[archlib} - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/ExtUtils/Install.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/ExtUtils/MM_Unix.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/ExtUtils/MM_VMS.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - -Index: lib/ExtUtils/MakeMaker.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/ExtUtils/Manifest.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - -Index: lib/ExtUtils/Mksymlists.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/ExtUtils/xsubpp - - Change a reference from perlapi(1) to perlxs(1). - -Index: lib/File/Basename.pm - - Date: Fri, 20 Sep 1996 14:11:05 +0200 - From: Gisle Aas - Subject: File::BaseName: "/" is legal path separator for MSDOS - - The File::BaseName module should allow "/" as path separator when - fileparse_set_fstype("MSDOS") is in effect: - - Date: Fri, 20 Sep 1996 13:58:52 +0200 - From: Gisle Aas - Subject: File::Basename documentation patch - - Date: Mon, 30 Sep 1996 00:54:37 -0400 - From: Spider Boardman - - For t/lib/basename.t, though, the associated patch for - File::Basename was also wrong: - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - -Index: lib/File/Copy.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/File/Find.pm - - Date: Sat, 7 Sep 1996 21:37:44 +0200 - From: Michael De La Rue <mikedlr@it.com.pl> - Subject: File::Find assumes $_ remains unchanged; bug - - The File::Find perl module assumes that the $_ variable remains unchanged - through the user defined function which is callbacked from find. It carries - out a stat operation - - Simplest fix is merely to document this - -Index: lib/File/Path.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/FindBin.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/Getopt/Long.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/I18N/Collate.pm - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - deprecated and trapped (will whine if called and tell to migrate away) - -Index: lib/IPC/Open2.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/IPC/Open3.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/Math/BigInt.pm - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - ord() is a dangerous thing. - -Index: lib/Math/Complex.pm - - Date: Thu, 03 Oct 96 18:38:08 +0200 - From: Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com> - # Complex numbers and associated mathematical functions - # -- Raphael Manfredi, Sept 1996 - # New version. Should be backwards compatible, but please - # check it out if you use it. - -Index: lib/Pod/Text.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/Search/Dict.pm - - Date: Sat, 21 Sep 1996 23:02:42 +0200 - From: Gisle Aas - Subject: look() in Search::Dict should use lc() istead of tr/A-Z/a-z/ - - The Search::Dict look() function should use the lc() function instead - of tr/A-Z/a-z/. This will make folding of non-english letters work if - the locale is set up correctly. - -Index: lib/SelfLoader.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/Symbol.pm - - Date: Fri, 20 Sep 1996 12:38:14 +0200 - From: Gisle Aas - Subject: Symbol.pm clobbers $_ at startup - - perl -le 'BEGIN {$_="foo";} use Symbol; print qualify($_)' - - I don't understand why the module want to initialize %global from - <DATA> in the first place. Perhaps we want to apply this patch - instead. - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/Sys/Hostname.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/Term/Cap.pm - - Date: 23 Sep 1996 14:11:38 +0200 - From: Ulrich Pfeifer - Subject: Patch for Term::Cap - - 'use Term::Cap' produces a warning when diagnosics are active. The - patch below avoids the warning. - - [The $entry .= $_ usage is idiomatic enough that it ought to be - ok, I would think, but the patch certainly is ok too.] - -Index: lib/Term/Complete.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/Term/ReadLine.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/Test/Harness.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - -Index: lib/Text/Abbrev.pm - - Date: 23 Sep 1996 11:33:01 +0200 - From: Ulrich Pfeifer - Subject: Text::Abbrev (Re: More standard library test scripts) - - This patch merges the Text::Abbrev related patches/tests from Gisle - and my previous patch (i.e. replaces both). - -Index: lib/Text/Tabs.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/Text/Wrap.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/Time/Local.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/UNIVERSAL.pm - - Add in stub file. - -Index: lib/bigint.pl - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - ord() is a dangerous thing. - -Index: lib/diagnostics.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/overload.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/perl5db.pl - - Date: Mon, 30 Sep 1996 00:34:58 -0400 (EDT) - From: Ilya Zakharevich - Subject: Re: dereferencing a hash from the debugger won't work - -Index: lib/splain - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: lib/strict.pm - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: makedepend.SH - - Add explicit $touch $firstmakefile for QNX which apparently - preserves modification times for a 'cp' command. - I worry, though, that touch might not be portable to OS/2. - If it is, then I'll remove the fancy case statement. - -Index: malloc.c - - Not all sbrks return zeroed memory. - -Index: mg.c - - Restore the 5.003 gv_fullname() and gv_efullname() functions. - Provide new 3-arg forms gv_fullname3() and gv_efullname3(). - - Date: Sun, 29 Sep 1996 22:18:19 -0400 (EDT) - From: Chip Salzenberg - Subject: 5.003_05: Fix numeric value of $! - - This patch undoes a bit of over-zealous integerization in mg.c, related - to the numeric value of $!. - - Date: Mon, 30 Sep 1996 01:13:28 -0400 - From: Spider Boardman - Subject: Re: pre extending hash? - need speed - - The patch below (which is relative to perl5.001l) implements - "keys %hash = 50_000;" (or other integer-evaluable sizes) for - pre-sizing hashes. I've only moved the patch forward from - when I first did it. I'm sure the code in hv_ksplit could be - improved. - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - - Date: Fri, 4 Oct 1996 12:38:31 -0400 (EDT) - From: Chip Salzenberg - Subject: 5.003_05: Fix numeric $! and $^E - - This patch undoes a bit of over-zealous integerization in mg.c, - related to the numeric values of $! and $^E. This patch *REPLACES* - the one I posted earlier, which was only effective for $!. - - [Some of this is superceded by similar stuff in the VMS patches.] - -Index: op.c - - Restore the 5.003 gv_fullname() and gv_efullname() functions. - Provide new 3-arg forms gv_fullname3() and gv_efullname3(). - - Date: Mon, 30 Sep 1996 01:13:28 -0400 - From: Spider Boardman - Subject: Re: pre extending hash? - need speed - - The patch below (which is relative to perl5.001l) implements - "keys %hash = 50_000;" (or other integer-evaluable sizes) for - pre-sizing hashes. I've only moved the patch forward from - when I first did it. I'm sure the code in hv_ksplit could be - improved. - -Index: opcode.h - - Date: Mon, 16 Sep 1996 16:37:48 -0700 - From: Jonathan Biggar <jon@sems.com> - Subject: Perl 5.003 bug when embedding in C++ program - - The following patch is necessary in order to embed the Perl5.003 interpreter - into a C++ program without getting prototype mismatch errors from the - C++ compiler. - -Index: opcode.pl - - Date: Mon, 16 Sep 1996 16:37:48 -0700 - From: Jonathan Biggar <jon@sems.com> - Subject: Perl 5.003 bug when embedding in C++ program - - The following patch is necessary in order to embed the Perl5.003 interpreter - into a C++ program without getting prototype mismatch errors from the - C++ compiler. - -Index: patchlevel.h - - Change to subversion 6. - -Index: perl.c - - From: Roderick Schertler - Subject: Re: -T flag and removal of `.' from @INC - - support C<perl -e'attached code'> - - Date: Tue, 01 Oct 1996 19:02:17 -0400 - From: Gurusamy Sarathy - Subject: Re: 2 core dumps (patch) - Message-Id: <199610012302.TAA08395@aatma.engin.umich.edu> - - The problem is an uninitialized SV slot in errgv. Here's a patch. - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - -Index: perl.h - - Date: Sat, 21 Sep 1996 21:33:15 -0400 (EDT) - From: Kenneth Albanowski - Subject: Full LONG_MAX & co. patch over 5.003_05 - - This patch contains the changes I've collected for the various _MAX issues - since 5.003_05. No patches issued between 5.003_05 and this one should be - applied, use this one instead. - - The effect is to remove the CHAR_* and I8_* constants (which are - ambiguous) and to explicitly cast all of the constants. - - Date: Mon, 30 Sep 1996 01:13:28 -0400 - From: Spider Boardman - Subject: Re: pre extending hash? - need speed - - The patch below (which is relative to perl5.001l) implements - "keys %hash = 50_000;" (or other integer-evaluable sizes) for - pre-sizing hashes. I've only moved the patch forward from - when I first did it. I'm sure the code in hv_ksplit could be - improved. - - Revert from Perl_malloc to Mymalloc for binary compatibility with - 5.003. - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - -Index: perl_exp.SH - - Add new function perl_init_fold. (I'm not sure it goes here.) - -Index: perlio.c - - Date: Thu, 12 Sep 96 15:58 PDT - From: Hunter Kelly <retnuh@zule.pixar.com> - Subject: Re: 5.003_05 is available. - - Fix PerlIO_reopen parameters. - -Index: perlsdio.h - - Date: Fri, 13 Sep 1996 17:24:01 -0400 - From: John Stoffel <jfs@jfs.fluent.com> - Subject: Re: 5.003_05 is available. - - Undef Irix getc_unlocked and putc_unlocked #defines. - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - -Index: pod/Makefile - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - perli18n.pod (and perlapio.pod, btw) added. - -Index: pod/buildtoc - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perl.pod - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Changed Larry's address to larry@wall.org. - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - perli18n advertised. - -Index: pod/perlapio.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - -Index: pod/perlbook.pod - - Updated for Second Edition. - -Index: pod/perlcall.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perldata.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perldebug.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perldiag.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - -Index: pod/perldsc.pod - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perlembed.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perlform.pod - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perlfunc.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perlguts.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - Date: Mon, 23 Sep 96 13:18:01 PDT - From: Jeff Okamoto - Subject: Re: perlguts API Listing patch - - Here's the lastest complete version for inclusion into _06 or .004. This - incorporates and supersedes Dean's patch. - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perli18n.pod - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - written. - -Index: pod/perlipc.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perllol.pod - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perlmod.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Date: Wed, 02 Oct 1996 16:52:08 -0400 - From: Roderick Schertler - Subject: documentation for $? in END - - Document the behavior with $? WRT END subroutines. - -Index: pod/perlobj.pod - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perlop.pod - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Date: Fri, 4 Oct 1996 10:36:19 -0400 (EDT) - From: Kenneth Albanowski - Subject: Re: Suggestion for improving man page - - Add alternative names for various escape sequences. - -Index: pod/perlpod.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perlre.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Date: Fri, 4 Oct 1996 10:36:19 -0400 (EDT) - From: Kenneth Albanowski - Subject: Re: Suggestion for improving man page - - Add alternative names for various escape sequences. - -Index: pod/perlref.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perlrun.pod - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perlsec.pod - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perlstyle.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perlsub.pod - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perlsyn.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perltie.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perltoc.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Changed Larry's address to larry@wall.org. - -Index: pod/perltrap.pod - - Date: Wed, 11 Sep 1996 13:26:18 -0400 - From: Gurusamy Sarathy - Subject: a perl425 trap - - Here's an addition that should be self-explanatory. - [interpolation issues] - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/perlvar.pod - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Date: Wed, 02 Oct 1996 16:52:08 -0400 - From: Roderick Schertler - Subject: documentation for $? in END - - Document the behavior with $? WRT END subroutines. - -Index: pod/perlxstut.pod - - Date: Wed, 11 Sep 1996 11:55:18 -0500 - From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> - Subject: POD spelling patches - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: pod/pod2man.PL - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - - Bugs found in pod2man - - The following bugs were noticed, and some fixed: - - 1. Where a L<> link extends over more than one line, pod2man does not - treat it as a link but displays it literally, and so these have been - rearranged to place the link on one line. This is the only bug worked - around. [Fixed; the rearrangements, which were done beforehand, - remain in some cases, but are no longer necessary, and pod paragraphs - can now be safely reformatted to whatever width is desired in the pod, - without breaking links.] - - 2. It seems to swallow spaces after certain links: for example, part - of the "open" entry in the perlfunc manpage comes out as "the - \f(CWbinmode\fR entry elsewhere in this documentfor tips", the source - having been "L</binmode> for tips". [Fixed.] - - 3. 'L</"Pass by Reference">', in perlsub.pod, comes out as '\fI/"Pass - by Reference\fR', that is, with an initial '/"'. - - 4. If a pod line begins with ".", nothing is done to prevent [tng]roff - from treating it as a [tng]roff instruction. - - 5. When the paragraph below =head1 NAME has more than one line, this - confuses pod2man: so in the case of Term::Readline, the manpage begins - with a stray line 'no real package is found, substitutes stubs instead - of basic functions."'. - - Of course, it would be better to fix pod2man; I hope that the new Pod - modules, when ready, will not have these defects. - -Index: pp_ctl.c - - Restore the 5.003 gv_fullname() and gv_efullname() functions. - Provide new 3-arg forms gv_fullname3() and gv_efullname3(). - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - sortcmp() sprouted a LC_COLLATE branch. - -Index: pp_hot.c - - Restore the 5.003 gv_fullname() and gv_efullname() functions. - Provide new 3-arg forms gv_fullname3() and gv_efullname3(). - - Date: Thu, 19 Sep 1996 11:58:22 -0400 - From: "Randy J. Ray" <rjray@uswest.com> - Subject: Patch: Untaint FH flag and clean DATA handles - - This patch adds a IOf_UNTAINT flag in sv.h, as one of the possibles - on an xpvio->xio_flags struct member. It is used to mark the given - file handle as a clean source, even when tainting is turned on. - There are also patches to pp_sys.c in pp_sysread to check this flag - before tainting data, and in pp_hot.c in do_readline for the same - reason. Lastly, it patches toke.c to automatically set this flag on - on a __DATA__ filehandle. The creation of the $pack::DATA - pseudo-filehandle is already checked against running under eval, so - this should not introduce any insecurity. - - This patch *does not*: - - * Add the "untaint" keyword. - -Index: pp_sys.c - - Restore the 5.003 gv_fullname() and gv_efullname() functions. - Provide new 3-arg forms gv_fullname3() and gv_efullname3(). - - Date: Thu, 19 Sep 1996 11:58:22 -0400 - From: "Randy J. Ray" <rjray@uswest.com> - Subject: Patch: Untaint FH flag and clean DATA handles - - This patch adds a IOf_UNTAINT flag in sv.h, as one of the possibles - on an xpvio->xio_flags struct member. It is used to mark the given - file handle as a clean source, even when tainting is turned on. - There are also patches to pp_sys.c in pp_sysread to check this flag - before tainting data, and in pp_hot.c in do_readline for the same - reason. Lastly, it patches toke.c to automatically set this flag on - on a __DATA__ filehandle. The creation of the $pack::DATA - pseudo-filehandle is already checked against running under eval, so - this should not introduce any insecurity. - - This patch *does not*: - - * Add the "untaint" keyword. - - Date: Sun, 22 Sep 1996 17:26:57 -0400 - From: "Randy J. Ray" <rjray@uswest.com> - Subject: Patch to patch for untainting - - The following patch ensures that a glob used as a filehandle that - has had the UNTAINT flag set will not carry that flag over on a - re-open. In a nutshell, a re-open of the DATA filehandle would be - considered untainted, and an object of class IO::Handle (or one of - its sub-classes) that is marked untainted with the untaint method, - then closed and re-opened, retained the untaintedness. - - Date: Mon, 30 Sep 1996 00:54:37 -0400 - From: Spider Boardman - - First, with IO::untaint, the patches as posted resulted in a - miniperl which couldn't open files, so the autosplitting of the - library and the creation of Makefiles for the extensions didn't - work. Worse, it didn't just fail to open files, it dumped core. - -Index: proto.h - - Restore the 5.003 gv_fullname() and gv_efullname() functions. - Provide new 3-arg forms gv_fullname3() and gv_efullname3(). - - Date: Mon, 30 Sep 1996 01:13:28 -0400 - From: Spider Boardman - Subject: Re: pre extending hash? - need speed - - The patch below (which is relative to perl5.001l) implements - "keys %hash = 50_000;" (or other integer-evaluable sizes) for - pre-sizing hashes. I've only moved the patch forward from - when I first did it. I'm sure the code in hv_ksplit could be - improved. - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - mem_collxfrm() and perl_init_fold() added. - -Index: run.c - - Restore the 5.003 gv_fullname() and gv_efullname() functions. - Provide new 3-arg forms gv_fullname3() and gv_efullname3(). - -Index: sv.c - - Restore the 5.003 gv_fullname() and gv_efullname() functions. - Provide new 3-arg forms gv_fullname3() and gv_efullname3(). - - Date: Mon, 30 Sep 1996 01:13:28 -0400 - From: Spider Boardman - Subject: Re: pre extending hash? - need speed - - The patch below (which is relative to perl5.001l) implements - "keys %hash = 50_000;" (or other integer-evaluable sizes) for - pre-sizing hashes. I've only moved the patch forward from - when I first did it. I'm sure the code in hv_ksplit could be - improved. - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - - I've added some DEBUG_Ps to sv.c which give a trace of the - fast I/O fiddling with stdio in sv_gets(). These were useful - to me in setting up the VMS fast I/O, and I left them in in - case they're useful to someone in the future. However, if you - think it overloads -DP too much, feel free to drop it. (-DP - already adds a profile of op usage to its advertised output.) - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - sv_cmp() sprouted a LC_COLLATE branch. - -Index: sv.h - - Date: Thu, 19 Sep 1996 11:58:22 -0400 - From: "Randy J. Ray" <rjray@uswest.com> - Subject: Patch: Untaint FH flag and clean DATA handles - - This patch adds a IOf_UNTAINT flag in sv.h, as one of the possibles - on an xpvio->xio_flags struct member. It is used to mark the given - file handle as a clean source, even when tainting is turned on. - There are also patches to pp_sys.c in pp_sysread to check this flag - before tainting data, and in pp_hot.c in do_readline for the same - reason. Lastly, it patches toke.c to automatically set this flag on - on a __DATA__ filehandle. The creation of the $pack::DATA - pseudo-filehandle is already checked against running under eval, so - this should not introduce any insecurity. - - This patch *does not*: - - * Add the "untaint" keyword. - - Date: Fri, 20 Sep 1996 15:38:57 -0400 - From: Gurusamy Sarathy - Subject: Re: "Attempt to free non-existent shared string"? (with patch) - - I found a subtle problem with the lazydelete mechanism (which is used - to postpone the delete of a entry that may be getting iterated over). - I was using the HeKLEN slot to hold the hint, but the real HeKLEN is - needed later to call unsharepvn(). This means that only magical - hash entries can use the HeKLEN slot to hold flags. - - Here's a tested patch against 5.00305 that fixes the problem. - The patch simply moves the LAZYDEL hint to become a SV-level private - flag. - -Index: t/base/term.t - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - \n not necessarily lt ' '. - -Index: t/comp/package.t - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - XYZ not necessarily gt xyz. - -Index: t/lib/abbrev.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - - Date: 23 Sep 1996 11:33:01 +0200 - From: Ulrich Pfeifer - Subject: Text::Abbrev (Re: More standard library test scripts) - - This patch merges the Text::Abbrev related patches/tests from Gisle - and my previous patch (i.e. replaces both). - -Index: t/lib/anydbm.t - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - A not necessarily gt a. - -Index: t/lib/autoloader.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - - Date: Mon, 30 Sep 1996 00:54:37 -0400 - From: Spider Boardman - - The test and patches for AutoLoader were also non-functional, - since the regexp context (curpm) was still being clobbered by the - filename manipulations: - -Index: t/lib/basename.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - - Date: Mon, 30 Sep 1996 00:54:37 -0400 - From: Spider Boardman - - Fix the number of tests. - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - - A different set of tests for File::Basename and friends. - -Index: t/lib/checktree.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/complex.t - - Date: Thu, 03 Oct 96 18:38:08 +0200 - From: Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com> - # Complex numbers and associated mathematical functions - # -- Raphael Manfredi, Sept 1996 - - Tests for new version. - -Index: t/lib/db-btree.t - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - A not necessarily gt a. - -Index: t/lib/db-hash.t - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - A not necessarily gt a. - -Index: t/lib/env.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/fatal.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/filecache.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/filecopy.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/filefind.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/filepath.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/findbin.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/gdbm.t - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - A not necessarily gt a. - -Index: t/lib/getopt.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/hostname.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/ndbm.t - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - A not necessarily gt a. - -Index: t/lib/odbm.t - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - A not necessarily gt a. - -Index: t/lib/parsewords.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/sdbm.t - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - A not necessarily gt a. - -Index: t/lib/searchdict.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/selectsaver.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/symbol.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - - Date: Mon, 30 Sep 1996 00:54:37 -0400 - From: Spider Boardman - - The various new lib/*.t tests didn't all work. For some, it was - only because the count of tests was wrong: - -Index: t/lib/texttabs.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/textwrap.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/lib/timelocal.t - - Date: Sun, 22 Sep 1996 00:59:56 +0200 - From: Gisle Aas - Subject: More standard library test scripts - - This is a collection of test scripts for the standard library modules. - Some of the tests does not pass unless some of the patches I have sent - out are applied. - -Index: t/op/each.t - - Date: Mon, 30 Sep 1996 01:13:28 -0400 - From: Spider Boardman - Subject: Re: pre extending hash? - need speed - - The patch below (which is relative to perl5.001l) implements - "keys %hash = 50_000;" (or other integer-evaluable sizes) for - pre-sizing hashes. I've only moved the patch forward from - when I first did it. I'm sure the code in hv_ksplit could be - improved. - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - A not necessarily gt a. - -Index: t/op/glob.t - - Date: Tue, 01 Oct 1996 16:37:03 -0400 (EDT) - From: Charles Bailey - Subject: Re: glob test 1 failing...bad test or bug - - Under AIX 4.1.4, with LOCALE set en_GB (British english) glob test one - fails because <op/*> sorts op/re_* before op/rea*, while - $otherway = `echo op/*` sorts op/re_* after op/re[a-z]*.t - - This version doesn't rely on the sorting order. - -Index: t/op/magic.t - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - -Index: t/op/readdir.t - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - A not necessarily gt a. - -Index: t/op/sort.t - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - A not necessarily gt a. - -Index: toke.c - - Date: Sat, 14 Sep 1996 17:08:16 -0400 - From: Gurusamy Sarathy - Subject: whitespace induced lexer errors (with patch) - - I finally got around to fixing skipspace() to not indiscriminately - overwrite oldbufptr and oldoldbufptr (which are used in making - expectation decisions in the lexer). - - Date: Sat, 14 Sep 1996 18:55:16 -0400 - From: Gurusamy Sarathy - Subject: perl lexer won't accept C<my($a,$b);$a<=>$b;> - - Date: Thu, 19 Sep 1996 11:58:22 -0400 - From: "Randy J. Ray" <rjray@uswest.com> - Subject: Patch: Untaint FH flag and clean DATA handles - - This patch adds a IOf_UNTAINT flag in sv.h, as one of the possibles - on an xpvio->xio_flags struct member. It is used to mark the given - file handle as a clean source, even when tainting is turned on. - There are also patches to pp_sys.c in pp_sysread to check this flag - before tainting data, and in pp_hot.c in do_readline for the same - reason. Lastly, it patches toke.c to automatically set this flag on - on a __DATA__ filehandle. The creation of the $pack::DATA - pseudo-filehandle is already checked against running under eval, so - this should not introduce any insecurity. - - This patch *does not*: - - * Add the "untaint" keyword. - -Index: util.c - - Date: Mon, 7 Oct 1996 22:03:00 +0300 - From: Jarkko Hietaniemi - Subject: LC_COLLATE. - - Big patch to add, document, and test LC_COLLATE support. - - rewrote perl_init_i18n() completely. - - reworded to be much more friendly and clear. - - perl_init_fold() split to its own function. - wrote mem_collxfrm(). - -Index: utils/c2ph.PL - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: utils/h2ph.PL - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: utils/h2xs.PL - - Date: Sat, 21 Sep 1996 16:38:24 -0500 - From: Dean Roehrich - Subject: h2xs bug fix - - The h2xs that is in perl5.003_05 has a regexp bug which prevents it from - finding #define statements and filling the constant() function. This patch - fixes that. The h2xs_test program found this--maybe people who are - modifying h2xs should get a copy of the test program. - - This also adds a -d to enable debugging messages (there's just one for now). - I've also placed some of the doc-related things in alphabetical order. - - h2xs_test can be found in my directory on CPAN. Those of you modifying - xsubpp should know there's a test suite for that, too, called XSTEST which - can also be found in my directory on CPAN. - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - Here is a patch for various typos and other defects in the Perl - 5.003_05 pods, including the pods embedded in library modules. - -Index: utils/perldoc.PL - - Date: Sun, 29 Sep 1996 22:00:09 -0400 (EDT) - From: Kenneth Albanowski - Subject: perldoc patch - - Ilya has found that this change makes perldoc much more useful under OS/2. - -Index: vms/config.vms - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - -Index: vms/descrip.mms - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - -Index: vms/genconfig.pl - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - -Index: vms/perlvms.pod - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - -Index: vms/vms.c - - Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) - From: Charles Bailey - Subject: VMS patches to 5.003_05 - -Index: x2p/a2p.pod - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - This patch just changed the old a2p.man page into a pod page. - -Index: x2p/s2p.PL - - Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) - From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> - Subject: Pod typos, pod2man bugs, and miscellaneous installation comments - - This patch just changed the old s2p.man page into a pod page. - I then embedded the pod into the s2p script. - - ----------------- -Version 5.003_05 ----------------- - -This patch was primarily to fix bugs and to clean up some of -the remaining issues from in 5.003_04. The details are described below. -A very brief summary is: - -o Visible Changes to Core Functionality - - -Add support for a READLINE method to tied filehandles. - - -times function now uses CLK_TCK if HZ is not available, rather - than just defaulting to 60. times output might change on some - systems, but should be correct now. - - -AnyDBM_File (modifying ISA does not work as expected) - Now behaves as documented: Modifying ISA works to select - order in which *DB* modules are tried. The default is still - the same. - -o Configure and build enhancements - - -Enhance detection of [gs]etpgrp() variants. Some systems have - BSD-style behavior for one and POSIX for the other. Use - [gs]etpgid() instead, whenever possible. - - -You can now build a shared libperl.so without running through - the LD_RUN_PATH hoops, if your system supports appropriate - ld command-line options. Solaris, NetBSD, and Linux are currently - supported. Others are easy to add. (This makes like a lot easier - for embedders.) - - -VMS updates. - - -Fix installperl and installman so that the -n option really only - prints commands. (previously, it would still do the mkdirs.) - -o Bug fixes - - -debugger ought to work. - - -A new heredoc tag in Makefile.SH is now quoted. This prevented - 5.003_04 from working most places. - - -numerous smaller ones, detailed below. - -o Specific Changes - -Here are the specific file-by-file changes. - -# This is my patch perl5.003_05.pat to perl5.003_04 -# The full description is below. -# Please execute the following commands before applying this patch. -# (You can feed this patch to 'sh' to do so.) -# -- Andy Dougherty - -# We'll create a new test, but patch won't automatically make it -# executable. -touch t/io/read.t -chmod +x t/io/read.t - -exit 0 - - -This is patch perl5.003_05.pat to perl version 5.003_04. -This takes you from 5.003_04 to 5.003_05. - -To apply this patch, run the above commands, -cd to your perl source directory and then type - - patch -p1 -N < perl5.003_05.pat - -The changes are described after each /^Index/ line below. This is -designed so you can examine each change with a command such as - - csplit -k perl5.003_05.pat '/^Index:/' '{99}' - -Index: Changes - - Updated for 5.003_05. - -Index: Configure - - Allow command line or hint-file overrides of $afs. - - Allow trailing spaces in nm output for HPUX10. - - Check for newer BIND 'search' directives in /etc/resolv.conf as well - as older 'domain' directive. - - Enhance detection of [gs]etpgrp() variants. Some systems have - BSD-style behavior for one and POSIX for the other. Use - [gs]etpgid() instead, whenever possible. - - Include -s in the -h summary of available options. - - Allow command-line override of $afs. - - Handle trailing spaces in nm-output on HPUX10. - - Set shrpenv for handling LD_RUN_PATH, if needed. (This used to - be in Makefile.SH. Now it's available for other modules too.) - - When using shared libperl, avoid LD_RUN_PATH if possible by adding - correct ld flags. Currently, Solaris and NetBSD get the correct - -R $archlibexp/CORE, and Linux gets its - -Wl,-rpath,$archlibexp/CORE flag. Other contributions are - welcome. - -Index: INSTALL - - Correct libperl5 -> libperl typo. - - Describe MakeMaker's Warning (will try anyway) messages. - - More info on where and how to send reports. - - Add info on non-Unix ports. - - -Index: MANIFEST - - Add new test t/io/read.t. - - Add new hints files for ODBM_File for ultrix and hpux. - - Add new pod checker script. - -Index: Makefile.SH - - A new heredoc tag in Makefile.SH needs to be quoted. - - shrpenv stuff moved to Configure. - -Index: Porting/Glossary - - Updated to match Configure. - -Index: README.vms - - VMS 5.003_05 Update. - -Index: av.h - - Subject: turbidity in av.[ch] - Date: Sun, 10 Dec 1995 00:21:31 -0500 - From: Gurusamy Sarathy - - Some unclean code that I noticed today. - -Index: config_H - - Updated to match newest config_h.SH. - -Index: config_h.SH - - Updated to match Configure. - - Changed the DLSYM_NEEDS_UNDERSCORE comment to - /**/ to conform to metaconfig style. - -Index: emacs/cperl-mode.el - - From: Ilya Zakharevich - Subject: Newer CPerl-mode - -Index: ext/DB_File/DB_File.pm - - Update to DB_File 1.03. - -Index: ext/DB_File/DB_File.xs - - Update to DB_File 1.03. - -Index: ext/Fcntl/Fcntl.pm - - Date: Thu, 5 Sep 1996 18:19:14 -0400 (EDT) - From: Chip Salzenberg - Subject: No AutoLoader for Fcntl - - Just like Socket, Fcntl doesn't need splitting and AutoLoading. - -Index: ext/FileHandle/FileHandle.pm - - From: Roderick Schertler - Subject: FileHandle::DESTROY for fd 0 - - This fixes FileHandle::DESTROY when called on stdin. - -Index: ext/ODBM_File/ODBM_File.xs - - Attempt to correct for "Bad free" in Ultrix and HPUX versions of - odbm. - -Index: ext/ODBM_File/hints/hpux.pl - - Try to work around "bad free" in dbmclose(). - -Index: ext/ODBM_File/hints/ultrix.pl - - Try to work around "bad free" in dbmclose(). - -Index: ext/Socket/Socket.pm - - Date: Thu, 5 Sep 1996 09:58:08 +0200 - From: Andreas Koenig - Subject: Patch to inhibit autosplit on Socket.pm - - This patch inhibits production and use of a completely useless - auto/Socket/autosplit.ix. - -Index: handy.h - - Make a little more C++-friendly for IBM's CSET++ compiler. - -Index: hints/convexos.sh - - Remove [gs]etpgrp workaround. Configure & perl.h should handle - this now. - -Index: hints/hpux.sh - - Add note about possible gcc GR3 warning message. - - Remove [gs]etpgrp workaround. Configure & perl.h should handle - this now. - -Index: hints/sco.sh - - Turn off optimization for stock cc. This appears to - prevent miniperl core dumps. - -Index: hints/solaris_2.sh - - Catch GNU ld even though it doesn't identify itself as a GNU tool. - Thanks to Tim Pierce <twpierce@midway.uchicago.edu>. - -Index: hints/sunos_4_1.sh - - Describe solution for the __lib_version problem with acc on - SunOS. - -Index: hv.c - - Date: Thu, 05 Sep 1996 00:25:28 -0400 - From: Gurusamy Sarathy - Subject: minor misc. cleanup - - This patch makes some minor cleanups to the sources. No change - in functionality whatsoever. - - Date: Thu, 05 Sep 1996 02:52:21 -0400 - From: Gurusamy Sarathy - - Subject: debugger problems--another patch (was Re: 5.003_04) - - I have tried to avoid copying of hash keys that are passed to - magical hashes, but it seems that copying may be unavoidable - since the hv_*_ent() functions could be PADTMPs (and other - SVs that may get reused) as keys. - - VMS dynamic %ENV fix - -Index: installman - - From: scotth@sgi.com - Subject: Re: installperl feature request (was: Re: Upgrade 4.0x to 5.001m) - - Fix installperl so that the -n option really only prints commands. - (previously, it would still do the mkdirs.) - - an "ignore installed" option, so that it doesn't bother to check - to see if the target already exists (an optimization that I - *don't* want it to do when I do #1 above) - -Index: installperl - - From: scotth@sgi.com - Subject: Re: installperl feature request (was: Re: Upgrade 4.0x to 5.001m) - - Fix installperl so that the -n option really only prints commands. - (previously, it would still do the mkdirs.) - - an "ignore installed" option, so that it doesn't bother to check - to see if the target already exists (an optimization that I - *don't* want it to do when I do #1 above) - -Index: lib/AnyDBM_File.pm - - AnyDBM_File (modifying ISA does not work as expected) - Now behaves as documented: Modifying ISA works to select - order in which *DB* modules are tried. The default is still - the same. - - - Add helpful "die" message to end of AnyDBM_File. Previously - it would return a 0, and the failure would eventually show up - somewhere else in the script and be hard to track down. It is - a failure if perl can't open AnyDBM_File. The test regression - suite is supposed to indicate this as a failure too. - -Index: lib/ExtUtils/Install.pm - - Updated to MakeMaker-5.38. - - Fix for VMS utime. - -Index: lib/ExtUtils/Liblist.pm - - Updated to MakeMaker-5.38. - -Index: lib/ExtUtils/MM_Unix.pm - Updated to MakeMaker-5.38. - -Index: lib/ExtUtils/MakeMaker.pm - - Updated to MakeMaker-5.38. - - Updated to MakeMaker-5.39 to allow CFLAGS in hint files. - -Index: lib/ExtUtils/Manifest.pm - - Updated to MakeMaker-5.38. - -Index: lib/ExtUtils/Mkbootstrap.pm - - Updated to MakeMaker-5.38. - -Index: lib/ExtUtils/Mksymlists.pm - - Updated to MakeMaker-5.38. - -Index: lib/File/Find.pm - - From: Michael Mahan <mahanm@nextwork.rose-hulman.edu> - Subject: Cwd::fastcwd in File::Find - - Is there a good reason why File::Find uses Cwd::fastcwd instead of - Cwd:cwd when fastcwd isn't as portable? - [In particular, fastcwd() doesn't work on AFS.] - -Index: lib/Math/Complex.pm - - There was a mistake in the sqrt routine in lib/Math/Complex.pm that - gave wrong answers when the magnitude of the imaginary part of the - argument exceeded the magnitude of the real part. Line 69 had too - many sqrt($y)'s. Further, expressions were re-arranged so that - calls to the expensive real sqrt() routine were reduced from 4 to 2 - in this case. - -Index: lib/open3.pl - - The I/O directions on the dad_wtr and kid_rdr were backwards. - IO/Open3.pm didn't have this error. - -Index: lib/syslog.pl - - Date: Tue, 03 Sep 1996 20:33:54 -0400 - From: Roderick Schertler - Subject: syslog.pl `use Socket' lossage - - syslog.pl tries but fails to use - Socket.pm, the problem is that use doesn't return a true value. This - module should be recast in terms of Sys::Syslog, of course. - -Index: makedepend.SH - - This patch eliminates "\|" in sed patterns in makedepend.SH, since - they're not really needed anyway in this one case. - -Index: mg.c - - Ok, here's a tested patch for the debugger problem. - I was missing the fact that DB::dbline magic is actually - uppercase (which means hv_store_ent() etc., will pass SV keys - to the vtbl_dbline handlers). - - Replace the oft-repeated mg_ptr incantation with - the simple MgPVKEY macro. - - Rename MgPVKEY to MgPV (to match with HePV elsewhere). Add - additional parens around the "mg". - - (lines near 584) Part of VMS changes. I don't know what this did. - - Date: Fri, 23 Aug 1996 17:20:22 -0400 (EDT) - From: Chip Salzenberg - Subject: Integerize mg.c; eliminate warning on C< local($)) > - - This patch converts magic variables ($!, $^E, etc.) to use integers - (C<sv_setiv>) instead of floats. It also eliminates a warning from - C< local($)) >, via a hack similar to $!. - -Index: mg.h - - Replace the oft-repeated mg_ptr incantation with - the simple MgPVKEY macro. - - Rename MgPVKEY to MgPV (to match with HePV elsewhere). Add - additional parens around the "mg". - -Index: nostdio.h - - Add _STDIO_LOADED (VMS) to list of guard symbols. - -Index: op.c - - From: Gurusamy Sarathy - Subject: Re: \ ( @array ) busted for lexical @array (once more) - -Index: patchlevel.h - - Change to subversion 5. - -Index: perl.c - - Make floating point constants Locale-friendly. - -Index: perl.h - - One last LONG & co. fix (yet another cut'n'paste error) and a few - minor cleanups. Nothing crucial. - - Make a little more C++-friendly for IBM's CSET++ compiler. - - Enhance detection of [gs]etpgrp() variants. Some systems have - BSD-style behavior for one and POSIX for the other. Use - [gs]etpgid() instead, whenever possible. - -Index: perlio.c - - Eliminate potential "signed vs. unsigned" warning - - Add PerlIO_reopen and PerlIO_cgetname functions. - -Index: perlsdio.h - - Don't supply redundant parameters for PerlIO_open and PerlIO_fdopen. - - Include PerlIO_reopen and PerlIO_getname. - - s/FILE_(CNT|PTR)_LVALUE/STDIO_(CNT|PTR)_LVALUE to fix a typo. - This had prevented SV_FAST_FGETS from working anywhere. - - Include PerlIO_canset_cnt. I'm not sure how this is supposed to - differ from STDIO_CNT_LVALUE. - -Index: pod/Makefile - - Remove trailing spaces in pods. - Include a call to the checkpods script in the Makefile (though it's - not ordinarily used by users). - -Index: pod/checkpods.PL - - New script to check for common errors in pods. This is not - normally called during the perl build process, but you can - use it with B<make check>. - -Index: pod/perlfunc.pod - - Document correct C<use POSIX ":wait_h";> usage. - - Add notes about POSIX [gs]etpgrp. - -Index: pod/perlipc.pod - - Document correct C<use POSIX ":wait_h";> usage. - -Index: pod/perlref.pod - - From: Gurusamy Sarathy - Subject: Re: \ ( @array ) busted for lexical @array (once more) - -Index: pod/perltie.pod - - Date: Thu, 29 Aug 1996 15:14:51 +0200 - From: Sven Verdoolaege <skimo@breughel.ufsia.ac.be> - Subject: more TIEHANDLE - - This adds support for a READLINE method. - -Index: pod/perltrap.pod - - Here's documentation on the change in split's behavior between Perl 4 - and Perl 5. - - Subject: More (and less!) 425traps - - Large integer traps - - Precedence - - warn STDERR - - Change blank lines to empty lines. - -Index: pod/perlvar.pod - - Be explicit about $/="" matching empty lines, that is, lines - with no spaces or tabs. - - Change blank lines to empty lines. - -Index: pp.c - - Date: Fri, 23 Aug 1996 17:22:40 -0400 (EDT) - From: Chip Salzenberg - Subject: Minor integer speedups in mathematics - - This patch provides minor speedups by using integer math and SVt_IV - values when performing bitwise operations and modulus. - - Date: Tue, 3 Sep 1996 17:49:22 -0400 (EDT) - From: Kenneth Albanowski - Subject: Pack Patch (was Re: 5.002 - pack/unpack does not do "I" right) - - (double)auint cast added for call to sv_setnv(). - -Index: pp_hot.c - - Date: Thu, 05 Sep 1996 00:25:28 -0400 - From: Gurusamy Sarathy - Subject: minor misc. cleanup - - This patch makes some minor cleanups to the sources. No change - in functionality whatsoever. - - Date: Thu, 29 Aug 1996 15:14:51 +0200 - From: Sven Verdoolaege <skimo@breughel.ufsia.ac.be> - Subject: more TIEHANDLE - - This adds support for a READLINE method. - -Index: pp_sys.c - - Clear any buffer space exposed by by read(). - This is almost certainly a bug-fix. - - Undef and then re-define my_chsize from Perl_my_chsize to - just plain chsize if this system HAS_CHSIZE. This probably only - applies to SCO. This shows the perils of having internal - functions with the same name as external library functions :-). - - Use CLK_TCK if HZ is not available. - -Index: sv.c - - Fix more spots where we had PerlIO_stderr() and should have had - Perl_debug_log instead. - - Date: Fri, 23 Aug 1996 17:26:42 -0400 (EDT) - From: Chip Salzenberg - Subject: Minor potential bug in AV creation - - I wasn't the one who originated this patch. But it looks like it - would improve the safety of AV creation. - - Remove potentially incorrect casts on PerlIO_set_ptrcnt. - 'ptr' is already STDCHAR, which is supposed to be the type of - char used in stdio.h, so we shouldn't have to cast it. - -Index: t/io/read.t - - Clear any buffer space exposed by by read(). - This is almost certainly a bug-fix. - -Index: t/lib/db-btree.t - - Update to DB_File 1.03. - -Index: t/lib/db-hash.t - - Update to DB_File 1.03. - -Index: t/lib/db-recno.t - - Update to DB_File 1.03. - -Index: t/lib/io_sock.t - - From: Lupe Christoph <lupe@alanya.m.isar.de> - Subject: Perl 5.003.03: race condition in t/lib/io_sock.t - - io_sock.t works by forking a subprocess it can communicate with. - It has the subprocess wait for the main process by sleeping 10 - seconds or until an alarm arrives. - - With my setup, the alarm signal arrives *before* the child - has a chance to ignore the alarm signal. - - I fixed this by moving the "$SIG{ALRM} = sub {};" up before the - fork. It does not hurt to have the parent ignore alarms, too. - -Index: t/op/inc.t - - One last LONG & co. fix (yet another cut'n'paste error) and a few - minor cleanups. Nothing crucial. - -Index: t/op/misc.t - - Date: Thu, 29 Aug 1996 15:14:51 +0200 - From: Sven Verdoolaege <skimo@breughel.ufsia.ac.be> - Subject: more TIEHANDLE - - This adds support for a READLINE method. - -Index: t/op/pack.t - - Date: Tue, 3 Sep 1996 17:49:22 -0400 (EDT) - From: Kenneth Albanowski - Subject: Pack Patch (was Re: 5.002 - pack/unpack does not do "I" right) - -Index: t/op/ref.t - - From: Gurusamy Sarathy - Subject: Re: \ ( @array ) busted for lexical @array (once more) - -Index: universal.c - - Date: Thu, 29 Aug 96 07:05:10 BST - From: Graham Barr - Subject: Re: UNIVERSAL::class busted - - yes, but I also noticed that this does not check that the reference - is an object, so the patch should be - -Index: unixish.h - - Change comment style so that IBM's picky xlc compiler doesn't - think we've mistakenly tried to nest comments. - -Index: util.c - - One last LONG & co. fix (yet another cut'n'paste error) and a few - minor cleanups. Nothing crucial. - -Index: utils/h2xs.PL - - Date: Fri, 6 Sep 1996 06:09:20 -0400 (EDT) - From: Ilya Zakharevich - Subject: updated h2xs - - Changes: - a) Docs and examples for -x updated; - b) Path to xxxx.h would not be changed to /usr/include/xxxx.h - unless this file exists (outside of VMS, I'm afraid to make an error - there). - Useful with -x option, when the file may be eaten via -I - inside -F. - c) .h file would be scanned only if needed. - d) typemap would be generated (with T_PTROBJ). - e) Documentation (=list) for autogenerated guys would be - included into POD. - f) duplicated XSUBs would not be generated; - g) arguments to XSUBs being arrays are recognized (note that - xsubpp would probably choke on such guys). - - -x option requires C-Scan-0.3 (releases a couple of minutes ago to - ftp://ftp.math.ohio-state.edu/pub/users/ilya/perl - should propagate to CPAN soon). - -Index: utils/perlbug.PL - - Fix typo $Config{'has_sockets'} ought to be $Config{'d_socket'}; - -Index: utils/perldoc.PL - - More choices in the pager war. Unfortunately, we can't rely on - all users agreeing with the Sysadmin's choice, nor can we - assign a default preference order, since opinions vary. If the - user doesn't have $ENV{PAGER} set, we do want to pick up one that - at least works, so we'll try whatever Configure found. - -Index: vms/Makefile - - VMS 5.003_05 Update. - -Index: vms/config.vms - - VMS 5.003_05 Update. - -Index: vms/descrip.mms - - VMS 5.003_05 Update. - -Index: vms/ext/Stdio/Stdio.pm - - VMS 5.003_05 Update. - -Index: vms/ext/filespec.t - - VMS 5.003_05 Update. - -Index: vms/gen_shrfls.pl - - VMS 5.003_05 Update. - -Index: vms/perlvms.pod - - VMS 5.003_05 Update. - -Index: vms/vms.c - - VMS 5.003_05 Update. - -Index: vms/vmsish.h - - VMS 5.003_05 Update. - - ----------------- -Version 5.003_04 ----------------- - -This patch was primarily to fix bugs and to clean up some of -the changes made in 5.003_03. The details are described below. -A very brief summary is: - -o Visible Changes to Core Functionality - - -Allow and document permissions for FileHandle::new and - IO::File::new. - -glob in Safe compartment used to allow shell access; now - it's in the same category as `` and system(). - -o Configure and build enhancements - - -perl library name is again -lperl, not -lperl5 in some cases. - -Several hint files no longer set -g -DDEBUGGING by default. - Instead, they just turn off optimization, since that is - probably what was intended. - -Include OS/2 and Plan9 updates. - -o Bug fixes - - -SEGV with $_[0] and circular references fixed. - -Ilya's debugger patch. - -FAKE typeglobs fixed. - -truncate with file name now works. - -lval substr() no longer coredumps with refs - -lval substr now clears lexicals in re-entered scopes. - -core dump in caller() for signal handler for __DIE__. - -o Specific Changes - -Here are the specific file-by-file changes. - -# This is my patch perl5.003_04.pat to perl5.003_03 -# The full description is below. -# Please execute the following commands before applying this patch. -# (You can feed this patch to 'sh' to do so.) -# -- Andy Dougherty - -# Obsolete perl4 hint file. -rm -f hints/dnix.sh -# Obsolete -rm -f os2/notes - -# We'll create a new test, but patch won't automatically make it -# executable. -touch t/op/gv.t -chmod +x t/op/gv.t - -exit 0 - - -This is patch perl5.003_04.pat to perl version 5.003_03. -This takes you from 5.003_03 to 5.003_04. - -To apply this patch, run the above commands, -cd to your perl source directory and then type - - patch -p1 -N < perl5.003_04.pat - -The changes are described after each /^Index/ line below. This is -designed so you can examine each change with a command such as - - csplit -k perl5.003_04.pat '/^Index:/' '{99}' - -Index: Changes - - Updated for 5.003_04. - -Index: Configure - - Change name of shared libperl library back to libperl.so.xxx, - so that a simple -lperl picks up either libperl.a or - libperl.so.xxx. - - Check if $sh='' in case we've reloaded an old config.sh - -Index: INSTALL - - Change name of shared perl library to libperl, instead of - libperl5. - - Add notes about fragility of shared libperl and the usefulness - of archlib to separate different binaries. - -Index: MANIFEST - - os2/notes removed - - obsolete hints/dnix.sh removed. - - New typeglob test. - -Index: Makefile.SH - - For building shared libperl, relocate whole rule to - inside the if test -f $osname/Makefile.SHs case. - -Index: Porting/Glossary - - Updated. - -Index: README.os2 - - Updated. - -Index: av.c - - Subject: Re: SEGV with $_[0] and circular references - - Subject: random cleanup - - This patch removes a few obvious redundancies in the source. - -Index: config_H - - Updated. Note new comments to make AIX happy. - -Index: config_h.SH - - Change /*#define../**/ into /*#define../ **/ - to make IBM's xlc compiler shut up about nested comments. - The /*#define FOO /**/ is a perfectly legal un-nested comment, and - I wish IBM would fix it's blasted compiler instead. In the meantime - we'll take mercy on the poor AIX user and get rid of the screenfulls - of stupid warning messages. Thanks to Hallvard B Furuseth for the fix. - -Index: dump.c - - This patch changes neither behavior nor performance. However, it does - reduce code size and improve maintainability by combining some common - code in gv_fullname() and gv_efullname(). - -Index: ext/FileHandle/FileHandle.pm - - This patch documents the behavior of FileHandle::{new,open} with - regard to open modes. It also documents the exportation of Fcntl - constants. - - This patch fixes a bug observed by Tom Christiansen: FileHandle::new - didn't allow for file permissions after the file mode. Here's a patch. - -Index: ext/IO/lib/IO/File.pm - - This patch fixes a bug observed by Tom Christiansen: IO::File::new - didn't allow for file permissions after the file mode. Here's a patch. - - This patch documents the behavior of IO::File::{new,open} with - regard to open modes. It also documents the exportation of Fcntl - constants. - -Index: ext/Opcode/Opcode.pm - - Subject: Re: glob in Safe compartment allows shell access - - I've moved the glob op into the same opcode tag as backticks and system - and added a comment. - -Index: gv.c - - This patch changes neither behavior nor performance. However, it does - reduce code size and improve maintainability by combining some common - code in gv_fullname() and gv_efullname(). - -Index: handy.h - - Subject: Patch for LONG_MAX & co. - - Sorry about adding yet another #ifdef forest, but hopefully this - should resolve the *_MAX issues permanently. It adds to the - previously defined PERL_LONG_MAX, PERL_LONG_MIN, and PERL_ULONG_MAX - symbols the complete set of - /PERL_U?(CHAR|SHORT|INT|LONG)_(MAX|MIN)/, and installs aliases to - those from /(I|U)(8|16|32|V)_(MAX|MIN)/ so that for any standard - Perl typedef, like I32 or UV, you can reference I32_MAX or UV_MIN, - and get appropriate figures. All references to LONG_(MIN|MAX) are - changed appropriately. - - The .c changes have the side effect of making cast_uv properly use quad - limits if quads are in use, but longs aren't 64 bit. Hopefully this all - works, but I don't have any handy Crays to try it out on. - - Add notes on perl's internal types, specifically Quad_t and IV. - -Index: hints/hpux.sh - - Remove the d_bsdpgrp hint. The defaults should be ok. - -Index: hints/irix_6_2.sh - - Change optimize=-g to optimize=none to avoid pulling in -DDEBUGGING, - unless that's what the user really wants. - -Index: hints/mpeix.sh - - Change optimize=-g to optimize=none to avoid pulling in -DDEBUGGING, - unless that's what the user really wants. - -Index: hints/os2.sh - - Fixes for sh vs. bin_sh + cleanup. - -Index: hints/ultrix_4.sh - - Don't call optimize=-g, just call optimize=none. The -g - pulls in -DDEBUGGING, which might not be wanted. - -Index: lib/ExtUtils/MM_Unix.pm - - .C$(obj_ext) removed under OS/2 - conflicts with .c$(obj_ext). - -Index: lib/ExtUtils/xsubpp - - Fix SCOPE? (See pod/perlxs.pod). - Up version number to 1.938. - -Index: lib/Test/Harness.pm - - Add a return value to runtests - non-zero if all tests ran ok, - zero otherwise. - -Index: lib/perl5db.pl - - Ilya's debugger patch. - Undefined subroutine &Carp::longmess called at - /opt/perl5.003_03/lib/perl5db.pl line 1423. - - - Make perl5db compatible with the recent 'strict refs' enforcement - in %SIG. - -Index: malloc.c - - A patch to perl5.003_02/malloc to give a sensible error abort() message - in ANSI C, and to give it to stderr instead of stdout. - - Use config_h's STRINGIFY macro instead of pre-ANSI "p". - -Index: mg.c - - Subject: FAKE typeglobs seriously busted (with patch) - - Handling of fake typeglobs (scalars that are really globs - in disguise) is seriously busted since 5.002 (it wasn't - so in 5.001n). - The problem is that mg_get() on a glob calls gv_efullname() - which might coerce its first arg to a string. - - Sub-critical patch to conceivably fix some %SIG problems. (Shared hash key - weren't being properly detected by some of the sig magic, but as shared - hash keys wouldn't normally be used in %SIG it's unlikely this is a - significant problem.) - - This patch changes neither behavior nor performance. However, it does - reduce code size and improve maintainability by combining some common - code in gv_fullname() and gv_efullname(). - -Index: myconfig - - Update perlio-related variables. - -Index: op.c - - This patch changes neither behavior nor performance. However, it does - reduce code size and improve maintainability by combining some common - code in gv_fullname() and gv_efullname(). - -Index: opcode.h - - Updated. See opcode.pl. - -Index: opcode.pl - - Subject: Re: truncate with file name does not work (with patch) - - The prototype for truncate was changed so that perl won't die - with C<use strict;> when the first arg is a bareword (filehandle). - I think it was Tom (as in "tchrist") who brought this up. - - Here's a patch that undoes the damage, makes it work with - C<use strict;>, and adds to the testsuite. - -Index: os2/Makefile.SHs - - perllib vs. LIBPERL - -Index: os2/diff.configure - - Updated. - -Index: os2/os2.c - - SH_PATH_INI vs. BIN_SH - -Index: os2/os2ish.h - - SH_PATH_INI added (needed to redefine SH_PATH for binary - distribution). - SH_PATH is redefined. - -Index: patchlevel.h - - SUBVERSION 4. - -Index: perl.h - - Subject: Patch for LONG_MAX & co. - - Sorry about adding yet another #ifdef forest, but hopefully this - should resolve the *_MAX issues permanently. It adds to the - previously defined PERL_LONG_MAX, PERL_LONG_MIN, and PERL_ULONG_MAX - symbols the complete set of - /PERL_U?(CHAR|SHORT|INT|LONG)_(MAX|MIN)/, and installs aliases to - those from /(I|U)(8|16|32|V)_(MAX|MIN)/ so that for any standard - Perl typedef, like I32 or UV, you can reference I32_MAX or UV_MIN, - and get appropriate figures. All references to LONG_(MIN|MAX) are - changed appropriately. - - The .c changes have the side effect of making cast_uv properly use quad - limits if quads are in use, but longs aren't 64 bit. Hopefully this all - works, but I don't have any handy Crays to try it out on. - - Add notes on perl's internal types, specifically Quad_t and IV. - -Index: perlio.c - - Removes an incorrect prototype for setlinebuf from - perlio.c because it conflicts with the correct declaration in - MachTen's stdio.h (and possibly other stdio's as well). - - Secondly, the code in perlio.c is not handling the (!PERLIO_IS_STDIO & - HAS_F[GS]ETPOS) case. The patch fixes this omission (in a rather lumpen - manner). I don't think this should affect platforms which try to hack a - different path through the #ifdef forest, but this assertion would benefit - from testing... - - Dominic Dunlop - -Index: plan9/config.plan9 - - Updated. - -Index: plan9/fndvers - - Updated. - -Index: plan9/mkfile - - Updated. - -Index: plan9/setup.rc - - Updated. - -Index: pod/perldiag.pod - - Subject: lval substr() coredumps with refs (with patch) - - substr() coredumps with a target that is a ref, when it is used in - an lvalue context. - The patch below corrects the problem by stringifying the reference - first (and emitting a warning when appropriate). - -Index: pod/perlxs.pod - - document xsubpp SCOPE: - -Index: pp.c - - Subject: lval substr() fails to clear lexicals in re-entered scopes (with patch) - - substr() in lvalue context interacts in buggy fashion with SVs that - are !SvOK. This manifests itself with lexicals that have a REFCNT of - 1, since these are merely "cleared in place" by setting SvOK_off. - - Subject: lval substr() coredumps with refs (with patch) - - substr() coredumps with a target that is a ref, when it is used in - an lvalue context. - The patch below corrects the problem by stringifying the reference - first (and emitting a warning when appropriate). - - Subject: Patch for LONG_MAX & co. - -Index: pp_ctl.c - - This patch changes neither behavior nor performance. However, it does - reduce code size and improve maintainability by combining some common - code in gv_fullname() and gv_efullname(). - -Index: pp_hot.c - - Subject: Patch for LONG_MAX & co. - - This patch changes neither behavior nor performance. However, it does - reduce code size and improve maintainability by combining some common - code in gv_fullname() and gv_efullname(). - -Index: pp_sys.c - - This patch changes neither behavior nor performance. However, it does - reduce code size and improve maintainability by combining some common - code in gv_fullname() and gv_efullname(). - -Index: proto.h - - This patch changes neither behavior nor performance. However, it does - reduce code size and improve maintainability by combining some common - code in gv_fullname() and gv_efullname(). - -Index: run.c - - This patch changes neither behavior nor performance. However, it does - reduce code size and improve maintainability by combining some common - code in gv_fullname() and gv_efullname(). - -Index: sv.c - - Subject: random cleanup - - This patch removes a few obvious redundancies in the source. - - Subject: sv_setsv patch - - This patch changes neither behavior nor performance. However, it does - reduce code size and improve maintainability by combining some common - code in gv_fullname() and gv_efullname(). - - From: Chip Salzenberg - Subject: Track SVs for destruction when -DPURIFY - - When checking for memory leaks, I compiled Perl with "-DPURIFY". - Although that flag improves the leak checking, it also breaks - destruction of global objects, because SVs aren't kept in captive - arenas any more. - - This patch rectifies the problem by providing an alternative - method for keeping track of SVs when Perl is compiled for Purify. - It has no effect on normal operation. - - - Add comment about assert(len >=0) when len is unsigned anyway. - -Index: t/io/fs.t - - Subject: Re: truncate with file name does not work (with patch) - - The prototype for truncate was changed so that perl won't die - with C<use strict;> when the first arg is a bareword (filehandle). - I think it was Tom (as in "tchrist") who brought this up. - - Here's a patch that undoes the damage, makes it work with - C<use strict;>, and adds to the testsuite. - - The "not implemented" branch is missing a "\n". - -Index: t/op/gv.t - - Subject: FAKE typeglobs seriously busted (with patch) - - Handling of fake typeglobs (scalars that are really globs - in disguise) is seriously busted since 5.002 (it wasn't - so in 5.001n). - - The problem is that mg_get() on a glob calls gv_efullname() - which might coerce its first arg to a string. - -Index: t/op/substr.t - - - Subject: lval substr() fails to clear lexicals in re-entered scopes (with patch) - - substr() in lvalue context interacts in buggy fashion with SVs that - are !SvOK. This manifests itself with lexicals that have a REFCNT of - 1, since these are merely "cleared in place" by setting SvOK_off. - - Subject: lval substr() coredumps with refs (with patch) - - substr() coredumps with a target that is a ref, when it is used in - an lvalue context. - The patch below corrects the problem by stringifying the reference - first (and emitting a warning when appropriate). - -Index: toke.c - - Subject: Re: truncate with file name does not work (with patch) - - The prototype for truncate was changed so that perl won't die - with C<use strict;> when the first arg is a bareword (filehandle). - I think it was Tom (as in "tchrist") who brought this up. - - Here's a patch that undoes the damage, makes it work with - C<use strict;>, and adds to the testsuite. - -Index: util.c - - Subject: Re: Perl 5.003 dumps core executing caller() in signal handler for - __DIE__ (with patch) - - sv_2pv() might call croak() (which is not prepared to handle that - when it calls sv_2pv(), itself). Likewise for warn() (but under - slightly more esoteric circumstances--mg_get() in sv_2pv() might - trigger a call to warn()). - - - Subject: Patch for LONG_MAX & co. - - PERL_BADLANG is examined by default before issuing a warning during - internationalization. - -Index: utils/h2xs.PL - - Make leading =head NAME item a paragraph so pod2man finds it. - -Index: utils/perldoc.PL - - Use col -x to filter out half-line feeds (ESC-9) from - HP-UX nroff -man output. (col -x isn't portable -- SunOS - doesn't support the -x option.) - - ----------------- -Version 5.003_03 ----------------- - -Most of the changes in 5.003_03 are to make the build and installation -process more robust. The details are described below. A very brief -summary is: - -o Visible Changes to Core Functionality - - -Support for tied filehandles. - -o Configure enhancements - - -How to build and install a shared libperl.so is now documented - and supported, though it's not the default for most platforms. - -o Bug fixes - - -Support bit operations on strings longer than 15 bytes. - - -If a regex supplied to split() contains paranthesized subpatterns - that can result in null matches, perl no longer coredumps. - - -Fix problems with each() on tied hashes. - - -Make h2ph architecture-independent by using Config at run-time - rather than extraction time. - -o Specific Changes - -Here are the specific file-by-file changes. - -# This is my patch perl5.003_03.pat to perl5.003_02 -# The full description is below. -# Please execute the following commands before applying this patch. -# (You can feed this patch to 'sh' to do so.) -# -- Andy Dougherty - -# Absorbed into Changes5.002 -rm -f Changes.Conf - -# Not needed. -rm -f ext/POSIX/mkposixman.pl - -# Moved to README.os2. I'm not sure why the README files are -# here rather than in the appropriate subdirectories. -rm -f os2/README - -# Not needed. -rm -f pod/Makefile.PL - -# New test for bit ops. -touch t/op/bob.t - -# Patches that create new tests don't always make them executable. -chmod +x t/*/*.t - -# Create a new directory for Porting and Patching info. -mkdir Porting - -exit 0 - -This is patch perl5.003_03.pat to perl version 5.003_02. -This takes you from 5.003_02 to 5.003_03. - -To apply this patch, run the above commands, -cd to your perl source directory and then type - - patch -p1 -N < perl5.003_03.pat - -The changes are described after each /^Index/ line below. This is -designed so you can examine each change with a command such as - - csplit -k perl5.003_03.pat '/^Index:/' '{99}' - -Index: Changes - - Include 5.003_03 change notes. - - Move older change notes to separate files. - -Index: Changes5.000 - - New file. Changes from perl4.036 to 5.000. - -Index: Changes5.001 - - New file. Changes from 5.000 to 5.001 - -Index: Changes5.002 - - New file. Changes from 5.001 to 5.002 - -Index: Changes5.003 - - New file. Changes from 5.002 to 5.003 - -Index: Configure - - Relaxed warning about ksh on exotic machines. - - Changed usesafe to useopcode. - - Add search for gzip and zip. - - Look more carefully for $sh (the Bourne-ish shell). - Use that info to set $startsh correctly. - - Change prompts for PerlIO interface. See INSTALL - for how this is supposed to work. The default is - still the same as in 5.003_02, namely don't use - any fancy new PerlIO stuff. - - Don't look for sigvec() since we don't actually use it. - (Plus, it used to print an alarming misleading message about - race conditions.) - - Look for stdio's _filbuf under the possible names of - _filbuf, __filbuf, and _fill. - - New $useshrplib variable to control whether we build a shared - libperl.so. The name of the library is in $libperl. - Always install it in $installarchlib/CORE/$libperl. - - Check for <sys/resource.h> and <sys/wait.h> for NetBSD. - - Replace old $altmake stuff with newer autoconf-ish - $make_set_make, which checks if $make sets $(MAKE). Now you - choose an alternate make with sh Configure -Dmake=gmake (or - whatever). - - Remove 'ln' for the list of essential commands. Simulate - it with 'cp' if necessary. - - Change `logname` prompts to handle extra gratuitous spaces in - Ultrix output. - - Autodetect os2. - - Fix silly bug in checking for fully-qualified names in /etc/hosts. - - Generalize Gconvert tests. Give correct and more useful - error messages. - - Use $obj_ext instead of literal '.o' in the dynaloader test. - - Include appropriate header files in bcopy() and memcpy() - tests. Note whether memmove is available. - - Check whether struct sigaction works (needed for Solaris 2.5 - with -Xc). - - Include appropriate header files for randbits test. - -Index: INSTALL - - Add note about space requirements. - - Update to match Configure changes (Opcode vs. Safe, - useperlio, useshrplib, etc.) - - Reorganize the structure of some of the hints. - - Miscellaneous clarifications. - -Index: MANIFEST - - Updated. 5.003_02 introduced some massive patches, mostly - due to spacing changes. I didn't bother to sort them all out; - I just started with 5.003's MANIEFST. - -Index: Makefile.SH - - Support the new simplified shared libperl mechanism. - - Use new $make_set_make directive. - - Remove redundant libperl Make variable. - - Remove unnecessary MAB variable. - - Remove dependency of minitest on lib/Config.pm, since it could - well have been a failure of configpm that inspired testing - miniperl in the first place! - -Index: Porting/Glossary - - New file describing all the config.sh variables. - Eventually, I hope to fill this directory with other useful - stuff. - -Index: README.os2 - - Replace old README.os2 with more up-to-date os2/README. - -Index: config_H - - Updated to match current Configure and config_h.SH. - Some rearrangement of parts has occurred due to new - dependencies in the metaconfig units. - -Index: config_h.SH - - Updated to match current Configure and config_h.SH. - Some rearrangement of parts has occurred due to new - dependencies in the metaconfig units. - - Include full descriptions of ARCHLIB, OLDARCHLIB, PRIVLIB, - SITEARCH, and SITELIB. Previous versions just included the - ~-expanded names (with unhelpful descriptions). No functionality - is changed, but maybe it's a little better documented now. - -Index: doio.c - - Possibly Include <signal.h> and <unistd.h> - -Index: doop.c - - No longer prefer bcmp over memcmp when order doesn't matter. - - Support bit operations on strings longer than 15 bytes. - -Index: embed.h - - Auto-generated. - -Index: embed.pl - - Expand warning at the top. - -Index: ext/IO/IO.pm - - Clean up docmentation installation errors. - -Index: ext/IO/lib/IO/Seekable.pm - - Clean up docmentation installation errors. - -Index: ext/IO/lib/IO/Select.pm - - Clean up docmentation installation errors. - -Index: ext/Opcode/Opcode.xs - - Add support for tied filehandles. - -Index: ext/SDBM_File/sdbm/sdbm.h - - Change the Mymalloc to match Perl_malloc in perl.h. - -Index: ext/util/make_ext - - Typo change. - Get rid of unused altmake. - -Index: global.sym - - Fix problems with each() on tied hashes. - -Index: handy.h - - Change safe*alloc functions to have prototypes that - match the system's malloc and free types. That is, use - Malloc_t instead of char *, and Free_t instead of void. - This is necessary so . . . - - Safefree cast matches type of free() whether it's perl's - malloc/free or the system's malloc/free. - -Index: hints/README.hints - - Remove out-of-date info. - - Document a bit about how hint files work. - -Index: hints/aix.sh - - qmaxmem hint doesn't apply to gcc. - -Index: hints/dgux.sh - - Configure will now automatically detect shared libperl stuff. - -Index: hints/dynixptx.sh - - Fix typo in comment. - - Configure will now automatically detect shared libperl stuff. - -Index: hints/epix.sh - - Use glibpth instead of libpth. This allows Configure to - add local directories, such as /opt/local/lib, etc. - -Index: hints/irix_6_2.sh - - Include some info on cc -n32 compile. - -Index: hints/linux.sh - - Configure now tests gcvt() more thoroughly. - -Index: hints/machten_2.sh - - Update where to find dld. - -Index: hints/mips.sh - - Use glibpth instead of libpth. - -Index: hints/next_3.sh - - Build up $mab dynamically. Since $mab isn't used anywhere - anymore, this is useless. However, $mab was never used for - next_3.sh anyway, so there's been no change in functionality. - -Index: hints/next_4.sh - - Get rid of extraneous isnext_4 variable. Configure and - Makefile.SH will use $osname and $osvers instead. - - Build up $mab dynamically based on available architectures. - - Absorb $mab into ccflags and ccdlflags. I hope that will - cover everything. (Configure should automatically remove - the -arch stuff from cppflags.) - - Configure now knows next4 needs to use a shared libperl.5.so. - - Allow users to use -Dprefix. - -Index: hints/os2.sh - - Try to update to reflect newer shared libperl stuff. - I probably goofed :-). - -Index: hints/sco.sh - - Additional notes on using icc. - - Additional flags for dynamic loading. - -Index: hints/solaris_2.sh - - Perl.h no longer prefers bcmp, so it's again ok if Configure - finds them, since perl will prefer the mem* versions anyway. - -Index: hints/sunos_4_0.sh - - Don't include <unistd.h> - -Index: hints/sunos_4_1.sh - - Add brief note about GNU as and ld. - - Don't include <unistd.h> - - Add notes about WHOA THERE messages. - -Index: hints/titanos.sh - - Include sfio in libswanted. - - Don't set libpth any more. - -Index: hints/umips.sh - - New hint file. - -Index: hv.c - - Use memcmp even in cases where ordering doesn't matter. - - Fix problems with each() on tied hashes. - -Index: installperl - - Simplify installation of shared libperl.so. - - Avoid reaching Command Failed!!! with /usr/bin/perl. - -Index: lib/AutoSplit.pm - - Clean up docmentation installation errors. - -Index: lib/ExtUtils/MM_Unix.pm - - Remove MAB references. - - Use 'useshrplib' instead of 'd_shrplib' - -Index: lib/ExtUtils/MakeMaker.pm - - Remove mab references. - -Index: lib/FindBin.pm - - Clean up docmentation installation errors. - -Index: lib/Symbol.pm - - Put back in the BEGIN { require 5.002; }. The version in - 5.003_02 wouldn't work in 5.002 anyway. Further, the whole - point of the construct is to catch 5.001m, so we can't use - syntax introduced after 5.001m to do that. - -Index: lib/Text/Wrap.pm - - Remove double 'use strict'. - -Index: lib/perl5db.pl - - Add explicit '&' to avoid warnings under strict refs. - -Index: lib/sigtrap.pm - - Clean up docmentation installation errors. - -Index: makedepend.SH - - Use Configure's $sh and $make_set_make variables. - -Index: mg.c - - Include <unistd.h> - - Use Safefree() macro instead of safefree() function with - a (possibly) incorrect cast. The whole point of the - Safefree() macro is that it does the correct cast for you. - - -Index: patchlevel.h - - Change to SUBVERSION 3. - -Index: perl.c - - Include <unistd.h> - -Index: perl.h - - No longer prefer bcmp slightly for comparisons that don't care - about ordering. - - Rely on Configure setting SH_PATH. - - Change the function name to Pause() instead of pause() to - avoid potential prototype problems. (This naming convention - is similar to the Fwrite and Fflush macros.) - - Fix problems with each() on tied hashes. - - Work around crypt prototype problem on NeXT. - -Index: perlio.c - - Fixes to support non-std stdio. - -Index: perlio.h - - Try to document the various #defines a bit. This is far from - finished. - - Remove a lot of trailing whitespace. (It's of no consequence, but - but I'm not going to redo the patch just to put back in the trailing - whitespace either.) - -Index: perlsdio.h - - Fixes to support non-std stdio. - -Index: perly.c - - Restore use of Safefree() macro. - -Index: perly.c.diff - - Restore use of Safefree() macro. - -Index: perly.h - - Delete duplicate line. - -Index: plan9/buildinfo - - Update. - -Index: pod/perlapio.pod - - Clean up docmentation installation errors. - -Index: pod/perlipc.pod - - Fix typo. - - Untaint port number. - -Index: pod/perlmod.pod - - Fix a minor nit regarding Exporter. - -Index: pod/perlre.pod - - Clean up docmentation installation errors. - -Index: pod/perltie.pod - - Add support for tied filehandles. - -Index: pod/perltrap.pod - - Clean up docmentation installation errors. - -Index: pod/perlxstut.pod - - Clean up docmentation installation errors. - -Index: pod/pod2man.PL - - Clean up docmentation installation errors. - -Index: pp.c - - Add support for tied filehandles. - - If a regex supplied to split() contains paranthesized subpatterns - that can result in null matches, perl coredumps. - -Index: pp_hot.c - - Use memcmp instead of bcmp even when we don't care about order. - - Add support for tied filehandles. - -Index: pp_sys.c - - Include <unistd.h>, <sys/wait.h>, and <sys/resource.h>. - (The latter two are especially for NetBSD.) - - Don't assume sys/time.h and sys/select.h can't coexist. - - Use Pause macro. - -Index: proto.h - - Fix safe*alloc and safefree prototypes. - -Index: regexec.c - - Use memcmp instead of bcmp even when we don't care about order. - -Index: sv.c - - Use memcmp instead of bcmp even when we don't care about order. - -Index: t/lib/opcode.t - - Add support for tied filehandles. - -Index: t/op/bop.t - - Support bit operations on strings longer than 15 bytes. - -Index: t/op/misc.t - - Add support for tied filehandles. - -Index: t/op/split.t - - If a regex supplied to split() contains paranthesized subpatterns - that can result in null matches, perl coredumps. - -Index: toke.c - - Include <unistd.h>. - - Use memcmp instead of bcmp even when we don't care about order. - -Index: util.c - - Include <unistd.h>. - - Use correct types for safe*alloc and safefree functions. - -Index: utils/h2ph.PL - - Make h2ph architecture-independent by using Config at run-time - rather than extraction time. - -Index: writemain.SH - - Remove unnecessary curlies. (They are a leftover from - an older auto_init mechanism.) - -Index: x2p/Makefile.SH - - Use Configure's $sh and $make_set_make. - - Remove MAB stuff, since it's now in ccflags. - - Keep 5.003's RCS info. - -Index: x2p/a2p.h - - Keep 5.003's RCS info. - -Index: x2p/str.c - - Use Configure's FILE_filbuf macro instead of a raw _filbuf. - - ----------------- -Version 5.003_02 ----------------- - -o Visible Changes to Core Functionality - - Redefining constant subs, or changing sub's prototype now give warnings. - - Fixes for ++/-- of values close to max/min size of an integer - - Warning for un-qualified bareword as handler in $SIG{}. - - UNIVERSAL::isa can now be called as static method. - -o Changes in Core Internals - - PerlIO abstraction added. - Perl core and standard extensions no longer assume ANSI C's stdio is IO - mechanism, Default Configure mode is still to use stdio via set of C macros. - Alternate modes are to use stdio via one perlio.c module, or - to use sfio if available. - - - Several bug fixs from perl5-porters - - Make sources non-ANSI C correct again. - - SUPER in gv.c - - Last of shared-hash-key patches - - eval '(0,1..3)'; # --> SegFault - - coredumps after simple subsitutes. - - Correction to UNIVERSAL::VERSION docs. - - Fixed io_udp test. - - Fixed another abuse of malloc'ed memory. - - Enabled DEBUGING_MSTATS whenever perl's malloc() is used. - - Reverted to default of not hiding perl's malloc (if used). - -o Changes in the Standard Library and Utilities - - Fixed MakeMaker for static SDBM and builing in a link tree. - - Upgraded to IO-1.09, and includes latest (still experimental) IO::Select. - - Documentation/test tweak to DB_File - - h2xs upgrade to allow use C::Scan module - -o Changes in OS-specific and Build-time Support - - Attempted to re-created 5.003_01's NeXT support with metaconfig units. - - Updated MANIFEST - - make minitest now depends on lib/Config.pm, as some of tests require it. - - Included latest plan9 sub-directory - - Applied OS/2 patches. - - Typo patch for VMS. - - ----------------- -Version 5.003_01 ----------------- - -Version 5.003_01 contains bugfixes and additions accumulated since -version 5.002_01, since the patch to version 5.003 was deliberately -kept simple. In addition to numerous small bugfixes in the core, -library files, and documentation, this patch contains several -significant revisions, summarized below: - -o Visible Changes to Core Functionality - - - A port to Plan9 has been started, and changes are integrated into - the standard distribution. As of this release, the Perl core - and several common extensions are working. - - - A set of basic methods in the UNIVERSAL class have been added to - the Perl core. Since UNIVERSAL is an implicit member of every - class's @ISA, the methods can be called via any object. - - - A mandatory warning has been added for 'declarations' of lexical - variables using the "my" operator which mask an existing lexical - variable declared in the same scope, making the previous variable - inaccessible by its name. - - - The "use" and "require" operators have been extended to allow - checking of the required module's version. The "use" operator - can now be used for an immediate version check of Perl itself. - - - A new "strict" pragma, "strict untie", has been added, which - produces an error if a tied value is untied when other references - exist to the internal object implementing the tie. - - - Barewords used as associative array keys (i.e. when specifying - an associative array element like $foo{__BAR} or on the left - side of the => operator) may now begin with an underscore as - well as an alphabetic character. - - - Some of the configuration information previously produced by the - -v switch has been moved to the -V switch, in order to keep -v - output concise. - -o Changes in Core Internals - - - Symbol table and method lookups have been made faster. - - - Perl subroutines which just return a constant value are now - optimized at compile time into inline constants. - - - Management of keys for associative arrays has been improved to - conserve space when the same keys are reused frequently, and - to pass true Perl values to tie functions, instead of stringified - representations. - - - Messages normally output to stderr may be directed to another - stream when Perl is built. This allows some platforms to - present diagnostic output in a separate window from normal - program results. - - - A bug which caused suiperl to fail silently, albeit securely, - in version 5.003 on some systems has been fixed. - - - Management of Unix-style signal handlers via the %SIG associative - array has been made safer. - - - Several global C symbols have been renamed to eliminate collisions - with system C header files or libraries on some platforms. - Unfortunately, this means that dynamic extensions compiled under - previous versions of Perl will need to be rebuilt for Perl - 5.003_01. We're in the process of cleaning up Perl's C - namespace to make it easier to link Perl with other binaries, - so this will probably happen again between now and version 5.004. - After that, we'll do our best to maintain binary compatibility - between versions. - - - An alternate allocation strategy has been added to Perl's - optional private memory management routines. This strategy, - which may be selected when Perl is built, is designed to - conserve memory in programs which allocate many small - chunks of memory with sizes near a power of 2, as is often - the case in Perl programs. - - - Several memory leaks in the creation and destruction of - multiple interpreters have been fixed. - -o Changes in the Standard Library and Utilities - - - The Opcode extension, which allows you to control a program's - access to Perl operations, has been added to the standard - distribution. This extends the work begun in the original - Safe extension, and subsumes it. The Safe interface is still - available. - - - The IO extension, which provides a set of classes for object- - oriented handling of common I/O tasks, has been added to the - standard distribution. The IO classes will form the basis - for future development of Perl's I/O interface, and will - subsume the FileHandle class in the near future. The default - class to which all Perl I/O handles belong is now IO::Handle, - rather than FileHandle. - - - The ExtUtils::Embed library module, which provides a set - of utility function to help in embedding Perl in other - applications, has been added to the standard distribution. - - - The Fatal library module, which provides a simple interface - for creating "do-or-die" equivalents of existing functions, - has been added to the standard distribution. - - - The FindBin library module, which determines the full path - to the currently executing program, has been added to the - standard distribution. - - - The DB_File extension, and the Getopt::Long, Test::Harness, - Text::Tabs, Text::Wrap, Time::Local and sigtrap library modules - have been updated to the authors' latest versions. - - - The Carp library module now considers the @ISA chain when - determining the caller's package for inclusion in error messages. - - - The h2xs, perlbug, and xsubpp utilities have been updated. - - - The standard Perl debugger has been updated, and the information - provided to the debugger when an XSUB is called has been improved, - making it possible for alternate debuggers (such as Devel::DProf) - to do a better job of tracking XSUB calls. - - - The pod documentation formatting tools in the standard distribution - can now handle characters in the input stream whose high bit is set. - - - The cperl-mode EMACS editing mode has been updated. - -o Changes in Documentation - - - Typographic and formatting errors have been corrected in the pod - documentation for the core and standard library files - - - Explanations of several core operators have been improved - - - The perldebug, perlembed, perlipc, perlsec, and perltrap documents - extensively revised. - -o Changes in OS-specific and Build-time Support - - - Support for the NeXT platform has been extended through - NeXTSTEP/OPENSTEP 4.0, and now includes the ability to create MABs. - - - Support for OS/2 has been extended as well, and now includes - options for building a.out binaries. - - - Support for VMS has also been extended, incorporating improved - processing of file specification strings, optional suppression of - carriage control interpretation for record-structured files, - improved support for the -S command line switch, a number of - VMS-specific bugfixes, and significantly improved performance - in line-oriented reading of files. - - - Several hints files have been added or updated: aux.sh (updated), - convexos.sh (updated), irix_4.sh (updated), irix_5.sh (updated), - irix_6_2.sh (updated), next_3.sh (updated), next_3_2.sh (new), - next_3_3.sh (new), next_4.sh (new), os2/sh (updated), - sco.sh (updated), and solaris_2.sh (updated). +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. - - The test driver for the regression tests now reports when a set - of tests have been skipped (presumable because the operation - they're designed to test isn't supported on the current system). diff --git a/Changes5.004 b/Changes5.004 new file mode 100644 index 0000000000..90a8b53374 --- /dev/null +++ b/Changes5.004 @@ -0,0 +1,13909 @@ +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.) + + + --------------- + CAST AND CREW + --------------- + +To give due honor to those who have made Perl 5.004 what is is today, +here are some of the more common names in the Changes file, and their +current addresses (as of March 1997): + + Gisle Aas <gisle@aas.no> + Kenneth Albanowski <kjahds@kjahds.com> + Graham Barr <gbarr@ti.com> + Spider Boardman <spider@orb.nashua.nh.us> + Tom Christiansen <tchrist@perl.com> + Hallvard B Furuseth <h.b.furuseth@usit.uio.no> + M. J. T. Guy <mjtg@cus.cam.ac.uk> + Gurusamy Sarathy <gsar@engin.umich.edu> + Jarkko Hietaniemi <jhi@iki.fi> + Nick Ing-Simmons <nik@tiuk.ti.com> + Andreas Koenig <a.koenig@mind.de> + Doug MacEachern <dougm@opengroup.org> + Paul Marquess <pmarquess@bfsec.bt.co.uk> + Hans Mulder <hansm@euronet.nl> + Jeff Okamoto <okamoto@hpcc123.corp.hp.com> + Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de> + Tom Phoenix <rootbeer@teleport.com> + Norbert Pueschel <pueschel@imsdd.meb.uni-bonn.de> + Dean Roehrich <roehrich@cray.com> + Roderick Schertler <roderick@argon.org> + Larry W. Virden <lvirden@cas.org> + Ilya Zakharevich <ilya@math.ohio-state.edu> + +And the Keepers of the Patch Pumpkin: + + Charles Bailey <bailey@hmivax.humgen.upenn.edu> + Tim Bunce <Tim.Bunce@ig.co.uk> + Andy Dougherty <doughera@lafcol.lafayette.edu> + Chip Salzenberg <chip@perl.com> + +And, of course, the Author of Perl: + + Larry Wall <larry@wall.org> + +---------------- +Version 5.004_04 Maintenance release 4 for 5.004 +---------------- + +"1. Out of clutter, find simplicity. + 2. From discord, find harmony. + 3. In the middle of difficulty lies opportunity." + -- Albert Einstein, three rules of work + + + HEADLINES FOR THIS MAINTENANCE RELEASE + + Fixed gaps in tainting (readdir, readlink, gecos, bit vector ops). + Fixed memory leak in splice(@_). + Fixed debugger core dumps. + IO::Socket now sets autoflush by default. + Several perldoc bugs fixed, now faster and more helpful. + Fixed Win32 handle leak. + Many other improvements to Win32 support. + Many many other bug fixes and enhancements. + + + ------ BUILD PROCESS ------ + + Title: "ExtUtils::Liblist prints diagnostics to STDOUT (vs. STDERR)" + From: Andy Dougherty <doughera@newton.phys.lafayette.edu>, jesse@ginger + (Jesse Glick) + Msg-ID: <199708290032.UAA15663@ginger>, + <Pine.SUN.3.96.970829132217.28552A-100000@newton.phys> + Files: MANIFEST lib/ExtUtils/Liblist.pm + + Title: "Set LD_RUN_PATH when building suidperl" + From: Chip Salzenberg <chip@rio.atlantic.net>, Tony Sanders + <sanders@bsdi.com> + Msg-ID: <199708272226.QAA10206@austin.bsdi.com> + Files: Makefile.SH + + Title: "INSTALL version 1.26" + From: Andy Dougherty <doughera@newton.phys.lafayette.edu> + Msg-ID: <Pine.SUN.3.96.970828143314.27416B-100000@newton.phys> + Files: INSTALL + + Title: "Propagate MAKE=$(MAKE) through perl build" + From: Andy Dougherty <doughera@newton.phys.lafayette.edu> + Msg-ID: <Pine.SUN.3.96.970908143853.13750C-100000@newton.phys> + Files: Makefile.SH makedepend.SH x2p/Makefile.SH ext/util/make_ext + + Title: "update to installperl for perl5.004_02 to skip CVS dir" + From: Tony Sanders <sanders@bsdi.com> + Msg-ID: <199708272307.RAA13451@austin.bsdi.com> + Files: installperl + + Title: "makedepend loop on HP-UX 10.20" + Msg-ID: <1997Sep20.183731.2297443@cor.newman> + Files: Makefile.SH + + Title: "Tiny Grammaro in INSTALL" + From: koenig@anna.mind.de (Andreas J. Koenig) + Msg-ID: <sfcwwkb2pc8.fsf@anna.in-berlin.de> + Files: INSTALL + + Title: "Fix Configured osvers under Linux 1" + From: Andy Dougherty <doughera@newton.phys.lafayette.edu>, Hugo van der + Sanden <hv@crypt.compulink.co.uk> + Msg-ID: <199709241439.PAA17114@crypt.compulink.co.uk>, + <Pine.SUN.3.96.970924112654.5054D-100000@newton.phys> + Files: Configure + + Title: "INSTALL-1.28" + From: Andy Dougherty <doughera@newton.phys.lafayette.edu> + Msg-ID: <Pine.SUN.3.96.971010131207.23751A-100000@newton.phys> + Files: INSTALL + + Title: "makedepend.SH fix for UNICOS" + From: Jarkko Hietaniemi <jhi@iki.fi> + Msg-ID: <199710132039.XAA21459@alpha.hut.fi> + Files: makedepend.SH + + ------ CORE LANGUAGE ------ + + Title: "Re: "perl -d" dumps core when loading syslog.ph" + From: Jochen Wiedmann <wiedmann@neckar-alb.de>, Stephen McCamant + <alias@mcs.com>, ilya@math.ohio-state.edu (Ilya + Zakharevich) + Msg-ID: <1997Aug30.034921.2297381@cor.newman.upenn.edu>, + <3407639E.FEBF20BA@neckar-alb.de>, + <m0x4ZGj-000EZYC@alias-2.pr.mcs.net> + Files: pp_ctl.c + + Title: "Allow $obj->$coderef()" + From: Chip Salzenberg <salzench@nielsenmedia.com> + Msg-ID: <199708291649.MAA23276@nielsenmedia.com> + Files: pp_hot.c + + Title: "Localize PV value in save_gp()", "typeglob differences in perl4 and + perl5" + From: Gurusamy Sarathy <gsar@engin.umich.edu>, Stephen McCamant + <alias@mcs.com> + Msg-ID: <199708272348.TAA03139@aatma.engin.umich.edu>, + <m0x4u2o-000EZkC@alias-2.pr.mcs.net> + Files: scope.c t/op/ref.t + + Title: "Avoid assumption that STRLEN == I32" + From: Chip Salzenberg <chip@rio.atlantic.net>, Hallvard B Furuseth + <h.b.furuseth@usit.uio.no> + Msg-ID: <199708242310.BAA05497@bombur2.uio.no> + Files: hv.c + + Title: "Fix memory leak in splice(@_)" + From: "Tuomas J. Lukka" <tjl@fkfuga.pc.helsinki.fi>, Chip Salzenberg + <chip@rio.atlantic.net> + Msg-ID: <m0x3iQE-000CBrC@lukka.student.harvard.edu> + Files: proto.h av.c global.sym pp.c + + Title: "Fix line number of warnings in while() conditional", "misleading + uninit value warning" + From: Chip Salzenberg <chip@rio.atlantic.net>, Greg Bacon + <gbacon@crp-201.adtran.com> + Msg-ID: <199708271607.LAA01403@crp-201.adtran.com> + Files: proto.h op.c perly.c perly.y + + Title: "-t and POSIX::isatty on IO::Handle objects", "Fix C<-t $handle>" + From: Chip Salzenberg <chip@rio.atlantic.net>, Greg Ward + <greg@bic.mni.mcgill.ca> + Msg-ID: <199708261754.NAA24826@bottom.bic.mni.mcgill.ca> + Files: pp_sys.c + + Title: "Fix output of invalid printf formats" + From: Chip Salzenberg <chip@rio.atlantic.net>, Hugo van der Sanden + <hv@crypt.compulink.co.uk> + Msg-ID: <199708241529.QAA02457@crypt.compulink.co.uk> + Files: sv.c t/op/sprintf.t + + Title: "regexec.c regcppartblow declaration missing an arg" + From: Hugo van der Sanden <hv@crypt.compulink.co.uk> + Msg-ID: <199708290059.BAA05808@crypt.compulink.co.uk> + Files: regexec.c + + Title: "taint readlink, readdir, gecos" + From: Jarkko Hietaniemi <jhi@iki.fi> + Msg-ID: <199709131651.TAA13471@alpha.hut.fi> + Files: pod/perlfunc.pod pod/perlsec.pod pp_sys.c t/op/taint.t + + Title: "clean up old style package' usage in op.c" + From: Stephen Potter <spp@psa.pencom.com> + Msg-ID: <199709151813.NAA14433@psisa.psa.pencom.com> + Files: op.c + + Title: "beautifying usage() code in perl.c" + From: "John L. Allen" <"John L. Allen"<allen@gateway.grumman.com>> + Msg-ID: <Pine.SOL.3.91.970905091314.5991C-100000@gateway> + Files: perl.c + + Title: "debugger to fix core dumps, adds $^S" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199709170823.EAA21359@monk.mps.ohio-state.edu> + Files: pod/perlvar.pod perl.h gv.c lib/perl5db.pl mg.c perl.c toke.c + + Title: "downgrade "my $foo masks earlier" from mandatory to "-w"" + From: Gurusamy Sarathy <gsar@engin.umich.edu>, Stephen Potter + <spp@psa.pencom.com> + Msg-ID: <199709091832.NAA14763@psisa.psa.pencom.com>, + <199709102019.QAA09591@aatma.engin.umich.edu> + Files: pod/perldelta.pod pod/perldiag.pod op.c + + Title: "fix overridden glob() problems" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199709171645.MAA13988@aatma.engin.umich.edu> + Files: MANIFEST pod/perlsub.pod lib/File/DosGlob.pm op.c t/lib/dosglob.t + toke.c + + Title: "Reverse previous "Fix C<qq #hi#>" patch" + From: Chip Salzenberg <chip@rio.atlantic.net>, Kenneth Albanowski + <kjahds@kjahds.com>, Tom Christiansen + <tchrist@jhereg.perl.com> + Msg-ID: <199707050155.VAA27394@rio.atlantic.net>, + <199708172326.RAA19344@jhereg.perl.com>, + <Pine.LNX.3.93.970817200236.170F-100000@kjahds.com> + Files: toke.c + + Title: "printf type warning buglets in m3t2" + From: Hallvard B Furuseth <h.b.furuseth@usit.uio.no> + Msg-ID: <199708141017.MAA10225@bombur2.uio.no> + Files: regcomp.c regexec.c scope.c sv.c util.c x2p/util.c + + Title: "Localize PV value in save_gp()", "typeglob differences in perl4 and + perl5" + From: Gurusamy Sarathy <gsar@engin.umich.edu>, Stephen McCamant + <alias@mcs.com> + Msg-ID: <199708272348.TAA03139@aatma.engin.umich.edu>, + <m0x4AUk-000EUJC@alias-2.pr.mcs.net> + Files: scope.c t/op/ref.t + + Title: "unpack now allows commas but -w warns", "unpack() difference + 5.003->5.004" + From: "John L. Allen" <allen@gateway.grumman.com>, Chip Salzenberg + <chip@rio.atlantic.net>, Jarkko Hietaniemi <jhi@iki.fi>, + Jim Esten <jesten@wdynamic.com>, Jim Esten + <jesten@wepco.com>, timbo (Tim Bunce) + Msg-ID: <199709031632.LAA29584@wepco.com>, + <199709090257.WAA32670@rio.atlantic.net>, + <199709090917.MAA05602@alpha.hut.fi>, + <199709091000.LAA24094@toad.ig.co.uk>, + <341077FE.132F@wdynamic.com>, + <Pine.SOL.3.91.970905171243.14630A-100000@gateway> + Files: pod/perldiag.pod pp.c + + Title: "5.004_04 trial 1 assorted minor details" + From: Hallvard B Furuseth <h.b.furuseth@usit.uio.no> + Msg-ID: <HBF.970921p5f6@bombur2.uio.no> + Files: Porting/pumpkin.pod hv.c op.c sv.c x2p/util.c + + Title: "A couple of 4_04t1 problems" + From: pmarquess@bfsec.bt.co.uk (Paul Marquess) + Msg-ID: <9709210959.AA28772@claudius.bfsec.bt.co.uk> + Files: lib/Cwd.pm perl.c + + Title: "Minor changes to ease port to MVS" + From: Len Johnson <lenjay@ibm.net>, SMTP%"BAHUFF@us.oracle.com" , + SMTP%"pfuntner@vnet.ibm.com" , pvhp@forte.com (Peter + Prymmer) + Msg-ID: <199709162058.NAA00952@mailsun2.us.oracle.com> + Files: unixish.h miniperlmain.c + + Title: "Truer version string and more robust perlbug" + From: "Michael A. Chase" <mchase@ix.netcom.com>, Hugo van der Sanden + <hv@crypt.compulink.co.uk> + Msg-ID: <199709201514.QAA21187@crypt.compulink.co.uk>, + <1997Sep22.090701.2297448@cor.newman> + Files: perl.c utils/perlbug.PL + + Title: "Fix locale bug for constant (readonly) strings" + From: Jarkko Hietaniemi <jhi@iki.fi> + Msg-ID: <199709262125.AAA28292@alpha.hut.fi> + Files: sv.c t/pragma/locale.t + + Title: "Enable truly global glob()" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199710080000.UAA18972@aatma.engin.umich.edu> + Files: op.c + + Title: "Fix for $0 truncation" + From: Tim Bunce <Tim.Bunce@ig.co.uk> + Msg-ID: <199710081703.SAA02653@toad.ig.co.uk> + Files: mg.c + + Title: "Fix for missing &import leaving stack untidy" + From: Chip Salzenberg <salzench@nielsenmedia.com> + Msg-ID: <199709282252.SAA22915@nielsenmedia.com> + Files: pp_hot.c + + Title: "Larry's proto fix" + From: Chip Salzenberg <salzench@nielsenmedia.com> + Msg-ID: <199709290004.UAA07559@nielsenmedia.com> + Files: op.c t/comp/proto.t + + Title: "Fix bugs with magical arrays and hashes (@ISA)" + From: Chip Salzenberg <chip@rio.atlantic.net> + Msg-ID: <199709232148.RAA29967@rio.atlantic.net> + Files: perl.h proto.h av.c global.sym gv.c mg.c pp.c pp_hot.c scope.c + t/op/method.t + + Title: "Perl_debug_log stream used for all DEBUG_*(...) macro uses" + From: Nick Ing-Simmons <nik@tiuk.ti.com>, Tim Bunce + Msg-ID: <199709230820.JAA11945@tiuk.ti.com> + Files: perl.c taint.c util.c + + Title: "Tainting bitwise vector ops" + From: Chip Salzenberg <chip@rio.atlantic.net> + Msg-ID: <199710061726.NAA16438@rio.atlantic.net> + Files: doop.c t/op/taint.t + + Title: "Enhance $^E on OS/2" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199709232236.SAA04463@monk.mps.ohio-state.edu> + Files: pod/perlvar.pod mg.c os2/Changes + + Title: "option "!#... -- ..." in perl 5.004.03 seems not to work" + From: "John L. Allen" <allen@gateway.grumman.com>, Urs Thuermann + <urs@isnogud.escape.de> + Msg-ID: <199709232030.WAA30425@isnogud.escape.de>, + <Pine.SOL.3.91.970930105158.10789A-100000@gateway> + Files: perl.c + + Title: "syswrite will again write a zero length buffer" + From: Cameron Simpson <cs@zip.com.au>, Jarkko Hietaniemi <jhi@iki.fi>, + aml@world.std.com (Andrew M. Langmead) + Msg-ID: <199710042107.AAA28561@alpha.hut.fi>, + <19971007104652-cameron-1-10391@sid.research.canon.com.au> + Files: pp_sys.c + + Title: "make Odd number of elements in hash list warning non-mandatory" + From: Jason Varsoke {81530} <jjv@caesun10.msd.ray.com> + Msg-ID: <199710021651.MAA15690@caesun7.msd.ray.com> + Files: pp.c pp_hot.c + + Title: "Fix defined() bug in m4t3 affecting LWP" + From: chip@atlantic.net@ig.co.uk () + Msg-ID: <199710101822.OAA14249@cyprus.atlantic.net> + Files: pp.c + + Title: "Include $archname in perl -v output" + From: Tim Bunce <Tim.Bunce@ig.co.uk> + Files: perl.c + + Title: "-I flag can easily lead to whitespace in @INC" + From: Kenneth Stephen <y2kmvs@us.ibm.com>, Tim Bunce <Tim.Bunce@ig.co.uk>, + pvhp@forte.com (Peter Prymmer) + Msg-ID: <199710130922.KAA07780@toad.ig.co.uk>, + <5040400007001448000002L082*@MHS>, + <9710132015.AA12457@forte.com> + Files: perl.c + + ------ DOCUMENTATION ------ + + Title: "perldiag.pod: gotcha in short pattern/char ops" + From: Jarkko Hietaniemi <jhi@iki.fi> + Msg-ID: <199709050718.KAA31405@alpha.hut.fi> + Files: pod/perldiag.pod + + Title: "Documenting the perl-thanks address" + From: Tom Phoenix <rootbeer@teleport.com> + Msg-ID: <Pine.GSO.3.96.970913064628.12359F-100000@julie.teleport.com> + Files: pod/perl.pod + + Title: "Missing section for @_ in perlvar." + From: abigail@fnx.com (Abigail) + Msg-ID: <199708142146.RAA13146@fnx.com> + Files: pod/perlvar.pod + + Title: "Promised information about AvHASH in perguts is not delivered" + From: mjd@plover.com + Files: pod/perlguts.pod + + Title: "perlfunc.doc - $_ aliasing in map, grep, foreach etc" + From: Ted Ashton <ashted@southern.edu> + Msg-ID: <199708181852.OAA15901@ns.southern.edu> + Files: pod/perlfunc.pod + + Title: "-U Unsafe operations need -w to warn" + From: Tom Phoenix <rootbeer@teleport.com> + Msg-ID: <Pine.GSO.3.96.970826141343.13463h-100000@julie.teleport.com> + Files: pod/perlrun.pod + + Title: "document the return value of syscall" + From: Hans Mulder <hansm@icgned.nl> + Msg-ID: <1997Sep7.160817.2297395@cor.newman> + Files: pod/perlfunc.pod + + Title: "minor fix for perltrap.pod" + From: abigail@fnx.com (Abigail) + Msg-ID: <199709170500.BAA14805@fnx.com> + Files: pod/perltrap.pod + + Title: "xsubpp: document advanced dynamic typemap usage" + From: "Rujith S. de Silva" <desilva@netbox.com> + Files: pod/perlxs.pod + + Title: "Improved diagnostic docs for here-documents" + From: Tom Phoenix <rootbeer@teleport.com> + Msg-ID: <Pine.GSO.3.96.970921074004.21358G-100000@julie.teleport.com> + Files: pod/perldiag.pod + + Title: "[POD patch] do-FILE forces scalar context." + From: Robin Houston <robin@oneworld.org> + Msg-ID: <199709221553.QAA28409@carryon.oneworld.org> + Files: pod/perlfunc.pod + + Title: "perlop.pop. Behaviour of C<qq#hi#> vs C<qq #hi#>." + From: abigail@fnx.com (Abigail) + Msg-ID: <199709220107.VAA27064@fnx.com> + Files: pod/perlop.pod + + Title: "Clarify exec docs in perlfunc.pod" + From: Hugo van der Sanden <hv@crypt.compulink.co.uk> + Msg-ID: <199710081353.OAA00834@crypt.compulink.co.uk> + Files: pod/perlfunc.pod + + Title: "Documentation patch for perlguts.pod--document tainting routines" + From: Dan Sugalski <sugalskd@osshe.edu> + Msg-ID: <3.0.3.32.19971007165226.02fd2cd4@osshe.edu> + Files: pod/perlguts.pod + + Title: "Man perlfunc: incorrect split example" + From: Joerg Porath <Joerg.Porath@informatik.tu-chemnitz.de> + Msg-ID: <199709240620.IAA30928@pandora.hrz.tu-chemnitz.de> + Files: pod/perlfunc.pod + + Title: "Improve "Use of inherited AUTOLOAD for non-method" disgnostic" + From: rjray@uswest.com (Randy J. Ray) + Msg-ID: <199709231710.LAA08854@tremere.ecte.uswc.uswest.com> + Files: pod/perldiag.pod + + Title: "Document split-with-limit on empty string perl4/perl5 change" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Gisle Aas <aas@bergen.sn.no>, Hugo + van der Sanden <hv@crypt.compulink.co.uk> + Msg-ID: <199709221419.PAA03987@crypt.compulink.co.uk>, + <hiuvttdkv.fsf@bergen.sn.no> + Files: pod/perlfunc.pod pod/perltrap.pod URI/URL/http.pm t/op/split.t + + Title: "Clarify close() docs" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199710081653.MAA20611@monk.mps.ohio-state.edu> + Files: pod/perlfunc.pod + + Title: "perldiag log & sqrt - refer to Math::Complex package" + From: Jarkko Hietaniemi <jhi@cc.hut.fi> + Msg-ID: <199710042129.AAA20367@alpha.hut.fi> + Files: pod/perldiag.pod + + Title: "perlfunc.pod: sysread, syswrite docs" + From: Jarkko Hietaniemi <jhi@cc.hut.fi> + Msg-ID: <199710061910.WAA15266@alpha.hut.fi> + Files: pod/perlfunc.pod + + Title: "Document //gc" + From: abigail@fnx.com (Abigail) + Msg-ID: <199709232302.TAA27947@fnx.com> + Files: pod/perlop.pod + + Title: "repeating #! switches" + From: Chip Salzenberg <chip@rio.atlantic.net>, Robin Barker + <rmb1@cise.npl.co.uk> + Msg-ID: <199709241736.NAA25855@rio.atlantic.net>, + <24778.9709241501@tempest.cise.npl.co.uk> + Files: pod/perlrun.pod + + Title: "Re: taint documentation bug" + From: Ken Estes <estes@ms.com>, Tom Phoenix <rootbeer@teleport.com> + Msg-ID: <Pine.GSO.3.96.971006121349.10551X-100000@usertest.teleport.com> + Files: pod/perlsec.pod + + ------ LIBRARY AND EXTENSIONS ------ + + Title: "FileHandle.pm fails if Exporter has not been loaded previously" + From: jan.dubois@ibm.net (Jan Dubois) + Msg-ID: <3445e05b.17874041@smtp2.ibm.net> + Files: lib/FileHandle.pm + + Title: "Prefer startperl path over perlpath in MakeMaker" + From: Andreas Klussmann <andreas@infosys.heitec.de> + Msg-ID: <199709162017.WAA05043@troubadix.infosys.heitec.net> + Files: lib/ExtUtils/MM_Unix.pm + + Title: "Sys::Hostname fails under Solaris 2.5 when setuid" + From: Patrick Hayes <Patrick.Hayes.CAP_SESA@renault.fr> + Msg-ID: <199708201240.OAA04243@goblin.renault.fr> + Files: lib/Sys/Hostname.pm + + Title: "Cwd::getcwd cannot handle path contains '0' element" + From: Hironori Ikura <hikura@tcc.co.jp>, Hironori Ikura + <hikura@trans-nt.com>, Stephen Zander <srz@mckesson.com> + Msg-ID: <19970830060142J.hikura@matsu.tcc.co.jp>, + <m0x4TzI-0003F1C@wsuse5.mckesson.com> + Files: lib/Cwd.pm + + Title: "Getopt::Long 2.11" + From: JVromans@squirrel.nl (Johan Vromans) + Msg-ID: <m0xBcdR-000RArC@plume.nl.compuware.com> + Files: lib/Getopt/Long.pm + + Title: "IO::Socket autoflush by default, assume tcp and PeerAddr" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Andy Dougherty + <doughera@newton.phys.lafayette.edu>, Gisle Aas + <aas@bergen.sn.no> + Msg-ID: <E0x9WpH-0003HT-00@ursa.cus.cam.ac.uk>, + <Pine.SUN.3.96.970915115856.23236F-100000@newton.phys>, + <hvi07zvo9.fsf@bergen.sn.no> + Files: ext/IO/lib/IO/Socket.pm + + Title: "Syslog.pm and missing _PATH_LOG" + From: Ulrich Pfeifer <upf@de.uu.net> + Msg-ID: <p5iuw1cris.fsf@knowway.de.uu.net> + Files: lib/Sys/Syslog.pm + + Title: "Undocumented: $Test::Harness::switches" + From: Achim Bohnet <ach@mpe.mpg.de> + Msg-ID: <9708272110.AA26904@o09.xray.mpe.mpg.de> + Files: lib/Test/Harness.pm + + Title: "Patches for lib/Math/Complex.pm and t/lib/complex.t" + From: Jarkko Hietaniemi <jhi@anna.in-berlin.de> + Msg-ID: <199709102009.WAA27428@anna.in-berlin.de> + Files: lib/Math/Complex.pm t/lib/complex.t + + Title: "Win32: Install.pm not correctly comparing binary files." + From: Jeff Urlwin <jurlwin@access.digex.net> + Msg-ID: <01BCBFAA.E325C4A0.jurlwin@access.digex.net> + Files: lib/ExtUtils/Install.pm + + Title: "Document that File::Find doesn't follow symlinks" + From: Greg Ward <greg@bic.mni.mcgill.ca> + Msg-ID: <199708191853.OAA07111@bottom.bic.mni.mcgill.ca> + Files: lib/File/Find.pm + + Title: "fix subroutines called in a void context in perl5db.pl" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> + Msg-ID: <E0x6Gsa-0004VR-00@ursa.cus.cam.ac.uk> + Files: lib/perl5db.pl + + Title: "xsubpp fix to allow #ifdef's around entire XSubs" + From: John Tobey <jtobey@user1.channel1.com> + Msg-ID: <199709070034.AAA16457@remote119> + Files: lib/ExtUtils/xsubpp + + Title: "Banishing eval from getopt.pl and Getopt/Std.pm" + From: "John L. Allen" <allen@gateway.grumman.com> + Msg-ID: <Pine.SOL.3.91.970920154720.3683A@gateway> + Files: lib/getopt.pl lib/Getopt/Std.pm + + Title: "further complex number patches" + From: Jarkko Hietaniemi <jhi@iki.fi>, d-lewart@uiuc.edu (Daniel S. Lewart) + Msg-ID: <199709221009.FAA21216@staff2.cso.uiuc.edu>, + <199709221216.PAA15130@alpha.hut.fi> + Files: lib/Math/Complex.pm t/lib/complex.t + + Title: "Trap Time::Local infinite loop" + From: Hugo van der Sanden <hv@crypt.compulink.co.uk> + Msg-ID: <199710030030.BAA17372@crypt.compulink.co.uk> + Files: lib/Time/Local.pm + + Title: "Cosmetic Test::Harness patch" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199710032226.SAA15354@monk.mps.ohio-state.edu> + Files: lib/Test/Harness.pm + + Title: "ExtUtil::Install sub my_cmp needs to binmode its files" + From: Gurusamy Sarathy <gsar@engin.umich.edu>, Stephen Potter + <spp@psa.pencom.com> + Msg-ID: <199710010617.BAA02037@psisa.psa.pencom.com>, + <199710011819.OAA03288@aatma.engin.umich.edu> + Files: lib/ExtUtils/Install.pm + + Title: "Enable make test "TEST_FILES=t/*.t.were_failing"" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199710032231.SAA15364@monk.mps.ohio-state.edu> + Files: lib/ExtUtils/MM_Unix.pm + + Title: "Fix for autouse.pm" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199710071734.NAA19462@monk.mps.ohio-state.edu> + Files: lib/autouse.pm + + Title: "Math::Complex fixes - fixes problems on m68-linux" + From: Jarkko Hietaniemi <jarkko.hietaniemi@research.nokia.com> + Msg-ID: <199709301422.HAA24368@koah.research.nokia.com> + Files: lib/Math/Complex.pm + + Title: "Updated CPAN.pm for 5.004_04" + From: koenig@anna.mind.de (Andreas J. Koenig) + Msg-ID: <sfcpvpv8teo.fsf@anna.in-berlin.de> + Files: lib/CPAN.pm lib/CPAN/FirstTime.pm + + Title: "debugger bug with 'c subname'" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199709232331.TAA04546@monk.mps.ohio-state.edu> + Files: lib/perl5db.pl + + Title: "Fix atan2 & restrict $t to (-pi,pi] instead of to [-pi,pi]" + From: Daniel S. Lewart, Jarkko Hietaniemi + <jarkko.hietaniemi@research.nokia.com> + Msg-ID: <199710010939.CAA00964@koah.research.nokia.com> + Files: lib/Math/Complex.pm + + Title: "Cwd::fastcwd needs changes to work with tainting" + From: Hugo van der Sanden <hv@crypt.compulink.co.uk>, Ulrich Pfeifer + <pfeifer@wait.de>, Tim Bunce + Msg-ID: <yfmwwk6y0bc.ulp@gretchen.informatik.uni-dortmund.de> + Files: lib/Cwd.pm + + Title: "use autouse: requires prototype now" + From: user@agate.berkeley.edu + Msg-ID: <9709220450.AA0380@tuzik.HIP.Berkeley.EDU> + Files: lib/autouse.pm + + Title: ""use base qw(Foo Bar);" to set @ISA at compile time" + From: Gisle Aas <gisle@aas.no>, Graham Barr <gbarr@pobox.com>, Graham Barr + <gbarr@ti.com>, Tim Bunce <Tim.Bunce@ig.co.uk>, + jan.dubois@ibm.net (Jan Dubois), larry@wall.org (Larry + Wall) + Msg-ID: <199710022151.WAA21250@toad.ig.co.uk>, + <199710031613.JAA11286@wall.org>, + <199710040829.KAA16739@furu.g.aas.no>, + <3434E4C6.AE24135E@ti.com>, <343C2278.7DC1ADC6@pobox.com>, + <343ec306.50394803@smtp-gw01.ny.us.ibm.net> + Files: lib/base.pm + + Title: "Further Math/Complex.pm enhancements" + From: Jarkko Hietaniemi <jhi@iki.fi> + Msg-ID: <199710132055.XAA02086@alpha.hut.fi> + Files: lib/Math/Complex.pm t/lib/complex.t + + Title: "Further Math::Complex fixes" + From: Jarkko Hietaniemi <jhi@iki.fi> + Msg-ID: <199710120933.MAA01165@alpha.hut.fi> + Files: lib/Math/Complex.pm + + ------ OTHER CHANGES ------ + + Title: "POD patches w.r.t. $^S" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199710030001.UAA14241@monk.mps.ohio-state.edu> + Files: ../pod/perlfunc.pod ../pod/perlvar.pod + + Title: "libperl.sl on HP-UX 10.20" + From: "Darren/Torin/Who Ever..." <torin@daft.com>, Hugo van der Sanden + <hv@crypt.compulink.co.uk> + Msg-ID: <199709250003.BAA18085@crypt.compulink.co.uk>, + <873emkbpit.fsf@perv.daft.com> + Files: + + Title: "myconfig / perl -V: remove randbits and add prototype" + From: Tim Bunce <Tim.Bunce@ig.co.uk> + Msg-ID: <199709290857.JAA07706@toad.ig.co.uk> + Files: myconfig + + Title: "Emacs CPerl update for 5.004_04" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199710140835.EAA26825@monk.mps.ohio-state.edu> + Files: emacs/cperl-mode.el + + Title: "Enhance perly.fixer to help porters." + From: Tim Bunce + Files: perly.fixer + + ------ PORTABILITY - WIN32 ------ + + Title: "Fix win32/Makefile for perl95" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Files: win32/Makefile win32/makefile.mk + + Title: "Win32 archnames" + From: Bill Middleton <wmiddlet@Adobe.COM>, Gurusamy Sarathy + <gsar@engin.umich.edu>, Peter Prymmer <pvhp@forte.com>, Tim + Bunce <Tim.Bunce@ig.co.uk> + Msg-ID: <199709111929.PAA22488@aatma.engin.umich.edu>, + <341719E4.4923@forte.com>, + <Pine.GSO.3.95.970905123145.12361B-100000@ducks> + Files: win32/config_H.bc win32/config_H.vc + + Title: "pl2bat.bat -> pl2bat.pl change in win32/pod.mak" + From: jan.dubois@ibm.net (Jan Dubois) + Msg-ID: <3411ee6f.9143607@smtp-gw01.ny.us.ibm.net> + Files: win32/pod.mak + + Title: "Add test-notty target to Win32 Makefile" + From: jan.dubois@ibm.net (Jan Dubois) + Msg-ID: <343f5106.12461608@smtp2.ibm.net> + Files: win32/Makefile + + Title: "Bug in Win32::GetShortPathName" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199710092229.SAA21556@aatma.engin.umich.edu> + Files: win32/win32.c + + Title: "Fix NT handles leak." + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199710111319.JAA10918@aatma.engin.umich.edu> + Files: win32/win32io.c win32/win32sck.c + + Title: "fix socket init duality on win32" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199710111523.LAA12407@aatma.engin.umich.edu> + Files: win32/win32sck.c + + ------ PORTABILITY - GENERAL ------ + + Title: "Tweak to hints/machten.sh: stop t/lib/complex.t from failing" + From: Dominic Dunlop <domo@tcp.ip.lu> + Msg-ID: <v03110700b06a30bdfc42@[194.51.248.80]> + Files: hints/machten.sh + + Title: "Irix 6.2 build problem - so_locations" + From: "Billinghurst, David" <David.Billinghurst@riotinto.com.au> + Msg-ID: <D54B1932FFB4CF11B5C80000F8018BD2907E31@CRCMAIL> + Files: hints/irix_6.sh + + Title: "Porting/pumpkin.pod version 1.13" + From: Andy Dougherty <doughera@newton.phys.lafayette.edu> + Msg-ID: <Pine.SUN.3.96.970828142011.27416A-100000@newton.phys> + Files: Porting/pumpkin.pod + + Title: "lib/timelocal.t fails test 1 for VMS 7.1" + From: Dan Sugalski <sugalsd@lbcc.cc.or.us> + Msg-ID: <3.0.3.32.19970908112449.0087bc90@stargate.lbcc.cc.or.us> + Files: vms/vmsish.h vms/vms.c + + Title: "Patches to updated README.VMS for Perl 5.004_04" + From: Dan Sugalski <sugalsd@stargate.lbcc.cc.or.us> + Msg-ID: <3.0.3.32.19970918100648.008b1c60@stargate.lbcc.cc.or.us> + Files: README.vms + + Title: "Fix perl build on Digital UNIX after JDK installs libnet.so" + From: Spider Boardman <spider@orb.nashua.nh.us> + Msg-ID: <199709191826.OAA18040@Orb.Nashua.NH.US> + Files: hints/dec_osf.sh + + Title: "Updated README.VMS for Perl 5.004_04" + From: Dan Sugalski <sugalsd@stargate.lbcc.cc.or.us> + Msg-ID: <3.0.3.32.19970912091524.008a3620@stargate.lbcc.cc.or.us> + Files: README.vms + + Title: "Dynixptx hints" + From: bruce@aps.org ("Bruce P. Schuck") + Msg-ID: <Pine.PTX.3.95.971002104651.12112G-200000@lancelot.aps.org> + Files: hints/dynixptx.sh + + Title: "Minor OS/2 patch for 4_03" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199710032224.SAA15345@monk.mps.ohio-state.edu> + Files: os2/os2.c + + Title: "OS2::REXX improvements" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199709272214.SAA08638@monk.mps.ohio-state.edu> + Files: os2/Changes os2/OS2/REXX/Makefile.PL os2/OS2/REXX/REXX.pm + + Title: "hints/qnx.sh update" + From: Norton Allen <allen@huarp.harvard.edu> + Msg-ID: <199709261508.LAA07889@dolores.harvard.edu> + Files: hints/qnx.sh + + Title: "New hints file for IBM OS/390 OpenEdition (MVS)" + From: pvhp@forte.com (Peter Prymmer) + Msg-ID: <9709240106.AA26484@forte.com> + Files: hints/os390.sh + + Title: "OS/2 Hints" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199710130631.CAA25426@monk.mps.ohio-state.edu> + Files: hints/os2.sh + + ------ TESTS ------ + + Title: "op/glob.t test failure under Win32 with CVS" + From: Warren Jones <wjones@tc.fluke.com> + Msg-ID: <97Aug26.091048pdt.35761-1@gateway.fluke.com> + Files: t/op/glob.t + + Title: "tests fail if localhost/loopback address not defined" + From: David McLean <David McLean<davem@icc.gsfc.nasa.gov>>, David McLean + <davem@icc.gsfc.nasa.gov> + Msg-ID: <34048947.2944@icc.gsfc.nasa.gov> + Files: t/lib/io_sock.t t/lib/io_udp.t + + Title: "Improve pragma/locale test 102 - and don't fail, just warn" + From: Jarkko Hietaniemi <jhi@anna.in-berlin.de> + Files: t/pragma/locale.t + + Title: "Invalid test output in t/op/taint.t in trial 1" + From: Dan Sugalski <sugalsd@lbcc.cc.or.us> + Msg-ID: <3.0.3.32.19970919160918.00857a50@stargate.lbcc.cc.or.us> + Files: t/op/taint.t + + Title: "Identify t/*/*.t test failing because of file permissions" + From: koenig@anna.mind.de (Andreas J. Koenig) + Msg-ID: <sfcraah0xvy.fsf@anna.in-berlin.de> + Files: t/TEST + + Title: "fix poor t/op/runlevel.t test" + From: Gurusamy Sarathy <gsar@engin.umich.edu>, Hugo van der Sanden + <hv@crypt.compulink.co.uk>, Norton Allen + <allen@huarp.harvard.edu> + Msg-ID: <199709261458.KAA28611@dolores.harvard.edu> + Files: t/op/runlevel.t + + ------ UTILITIES ------ + + Title: "Missing 'require' in auto-generated .pm by h2xs" + From: davidk@tor.securecomputing.com (David Kerry) + Msg-ID: <97Aug27.131618edt.11650@janus.tor.securecomputing.com> + Files: utils/h2xs.PL + + Title: "Perldoc tiny patch to avoid $0" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199709122141.RAA16846@monk.mps.ohio-state.edu> + Files: utils/perldoc.PL + + Title: "h2ph broken in 5.004_02" + From: David Mazieres <dm@reeducation-labor.lcs.mit.edu>, + kstar@www.chapin.edu (Kurt D. Starsinic) + Msg-ID: <199708201454.KAA05122@reeducation-labor.lcs.mit.edu>, + <199708201700.KAA02621@www.chapin.edu> + Files: utils/h2ph.PL + + Title: "add key_t caddr_t to h2ph", "eg/sysvipc/ipcsem bug", "update + hints/bsdos.sh" + From: Tony Sanders <sanders@bsdi.com> + Msg-ID: <199708272301.RAA12803@austin.bsdi.com> + Files: eg/sysvipc/ipcsem utils/h2ph.PL + + Title: "perldoc search ., lib and blib/* if -f 'Makefile.PL'" + From: Tim Bunce + Msg-ID: <199708251732.KAA19299@gadget.cscaper.com> + Files: utils/perldoc.PL + + Title: "5.004m4t1: perlbug: NIS domainname gets into wrong places" + From: koenig@anna.mind.de (Andreas J. Koenig) + Msg-ID: <sfcg1qy38as.fsf@anna.in-berlin.de> + Files: utils/perlbug.PL + + Title: "add better local patch info to perlbug", "perlbug checks perl + build/run version changes" + From: Tim.Bunce@ig.co.uk + Files: utils/perlbug.PL + + Title: "perldoc - suggest modules if requested module not found" + From: Anthony David <adavid@netinfo.com.au> + Msg-ID: <3439CD83.6969@netinfo.com.au> + Files: utils/perldoc.PL + + Title: "perldoc mail::foo tries to read binary /usr/ucb/mail" + From: "Joseph Moof-in' Hall" <joseph@cscaper.com>, Tim Bunce + Msg-ID: <199710082014.NAA00808@gadget.cscaper.com> + Files: utils/perldoc.PL + + Title: "perldoc -f setpwent (for example) returns no descriptive text" + From: Tim Bunce + Files: utils/perldoc.PL + + Title: "perldoc diffs: don't search auto - much faster" + From: "Joseph N. Hall" <joseph@5sigma.com> + Msg-ID: <MailDrop1.2d7dPPC.971012211957@screechy.cscaper.com> + Files: utils/perldoc.PL + + + +---------------- +Version 5.004_03 Maintenance release 3 for 5.004 +---------------- + +"To err is human, to forgive divine." + -- Alexander Pope + + + HEADLINES FOR THIS MAINTENANCE RELEASE + + Fixed 5.004_02 compilation failure on VMS. + Fixed Configure (non)errors being displayed to user. + Better support for Windows 95. + Assorted documentation and hint file improvements. + perl --foo no longer silently ignored. + + + ------ BUILD PROCESS ------ + + Title: "Show Configure failure reason even with -s" + From: Andy Dougherty <doughera@newton.phys.lafayette.edu> + Msg-ID: <Pine.SUN.3.96.970812141623.14256K-100000@newton.phys> + Files: Configure + + Title: "Configure can stop without fully explaining itself" + From: Jim Anderson <jander@ml.com> + Msg-ID: <199708111328.JAA28976@nsd15.ny-swaps-develop.ml.com>, + <199708111952.PAA29346@nsd15.ny-swaps-develop.ml.com> + Files: Configure + + ------ CORE LANGUAGE ------ + + Title: "typos in perl -h output" + From: "Richard A. Wells" <Rwells@uhs.harvard.edu> + Msg-ID: <6D0BF914BC@gateuhs.harvard.edu> + Files: perl.c + + Title: "Some perldb -> PERLDB_* macro changes were missed" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199708100323.XAA27155@monk.mps.ohio-state.edu> + Files: pp_ctl.c + + Title: "Further fix to lseek's in lockf_emulate_flock" + From: Hallvard B Furuseth <h.b.furuseth@usit.uio.no> + Msg-ID: <199708060031.CAA07387@bombur2.uio.no>, + <199708102225.AAA16970@bombur2.uio.no> + Files: pp_sys.c + + Title: "GNU style perl --version (or any other --foo) ignored" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Kenneth Albanowski + <kjahds@kjahds.com>, Stephen McCamant <alias@mcs.com> + Msg-ID: <E0wx8MO-0007BS-00@ursa.cus.cam.ac.uk>, + <Pine.LNX.3.93.970813122557.9443C-100000@kjahds.com>, + <m0wy8nl-000EYgC@alias-2.pr.mcs.net> + Files: pod/perldiag.pod perl.c + + Title: "seen_dot declaration in perl.c needed for VMS" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199708072033.QAA09167@aatma.engin.umich.edu> + Files: perl.c + + ------ DOCUMENTATION ------ + + Title: "[PATCH] -D info in perlrun", "[PATCH] Re: -D info in perlrun" + From: Stephen McCamant <alias@mcs.com>, ilya@math.ohio-state.edu (Ilya + Zakharevich) + Msg-ID: <1997Aug10.195832.2224477@hmivax.humgen.upenn.edu>, + <m0wxNNL-000EYgC@alias-2.pr.mcs.net>, + <m0wxz6l-000EYgC@alias-2.pr.mcs.net> + Files: pod/perlrun.pod + + Title: "perlop pod inconsistent in presentation of regexp options" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Hans Mulder <hansm@icgned.nl>, + jmr@whirlwind.fmr.com + Msg-ID: <199708061404.KAA06717@whirlwind.fmr.com>, + <199708081505.LAA09810@whirlwind.fmr.com>, + <1997Aug7.160530.2196011@hmivax.humgen.upenn.edu>, + <E0wwnqc-00057s-00@ursa.cus.cam.ac.uk>, + <E0wwswg-00017x-00@ursa.cus.cam.ac.uk> + Files: pod/perlop.pod + + Title: "pod2man generated .IX lines upset whatis on Solaris" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, jmr@whirlwind.fmr.com (John + Redford) + Msg-ID: <E0wxoUZ-0006Ee-00@ursa.cus.cam.ac.uk> + Files: pod/pod2man.PL + + Title: "The description of the \Q metacharacter is confusing to novices" + From: aml@world.std.com (Andrew M. Langmead) + Msg-ID: <199708101946.AA06339@world.std.com> + Files: pod/perlre.pod + + Title: "doc patch for pack("p",undef) packing a NULL pointer" + From: pmarquess@bfsec.bt.co.uk (Paul Marquess) + Msg-ID: <9708102159.AA11726@claudius.bfsec.bt.co.uk> + Files: pod/perldelta.pod pod/perlfunc.pod + + Title: "perlfunc.pod error" + From: Tom Christiansen <tchrist@jhereg.perl.com> + Msg-ID: <199708102235.QAA18420@jhereg.perl.com> + Files: pod/perlfunc.pod + + ------ LIBRARY AND EXTENSIONS ------ + + Title: "patch for documentation error in FileCache.pm" + From: Mike Stok <mike@stok.co.uk>, mikebo@tellabs.com + Msg-ID: <Pine.LNX.3.95.970810143321.437C-100000@stok.co.uk> + Files: lib/FileCache.pm + + Title: "[PATCH] 5.004_02: Complex/Trig: update" + From: Jarkko Hietaniemi <jhi@iki.fi> + Msg-ID: <199708081842.VAA31214@alpha.hut.fi> + Files: lib/Math/Complex.pm lib/Math/Trig.pm t/lib/complex.t + + Title: "CPAN Use of uninitialized value in newest perl" + From: tom@amber.ssd.hcsc.com (Tom Horsley) + Msg-ID: <9708091738.AA16435@amber.ssd.hcsc.com> + Files: lib/CPAN.pm + + ------ PORTABILITY - WIN32 ------ + + Title: "[PATCH] /x is not a valid shell switch on Win95" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199708121720.NAA14760@aatma.engin.umich.edu> + Files: win32/win32.c + + Title: "[PATCH] Win95-proofing pl2bat" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199708121733.NAA14888@aatma.engin.umich.edu> + Files: MANIFEST win32/Makefile win32/makefile.mk win32/bin/pl2bat.pl + win32/bin/runperl.pl win32/bin/search.pl + win32/bin/webget.pl + + Title: "[PATCH] [OK] Perl5.004_02 on Alpha NT" + From: wmiddlet@adobe.com (William Middleton) + Msg-ID: <199708072100.OAA13141@ducks> + Files: win32/win32.c + + ------ PORTABILITY - OTHER ------ + + Title: "Improve dual-universe comments in hints/sunos_4_1.sh" + From: Andy Dougherty <doughera@newton.phys.lafayette.edu> + Msg-ID: <Pine.SUN.3.96.970812170358.14488E-100000@newton.phys> + Files: hints/sunos_4_1.sh + + Title: "Dynamic Loading on MkLinux (osname=linux,archname=ppc-linux)" + From: Chris Nandor <pudge@pobox.com>, Shimpei Yamashita + <shimpei@socrates.patnet.caltech.edu> + Msg-ID: <33EF1634.B36B6500@pobox.com> + Files: hints/linux.sh + + Title: "5.004_02 Configure - worrying but normal errors displayed to user" + From: Paul Marquess <pmarquess@bfsec.bt.co.uk>, pmarquess@bfsec.bt.co.uk + (Paul Marquess) + Msg-ID: <01BCA3DE.E257BFC0.pmarquess@bfsec.bt.co.uk>, + <9708102159.AA11726@claudius.bfsec.bt.co.uk> + Files: Configure os2/diff.configure + + Title: "Minor glitch with Perl 5.004_01 on SunOS 4.1.3 (groupstype)" + From: thad@thadlabs.com (Thad Floryan) + Msg-ID: <9708111415.AA03808@thadlabs.com> + Files: hints/sunos_4_1.sh + + Title: "SCO Openserver 5.0.4 - add comment to hint file re compiler bug" + From: Bill Glicker <billg@burrelles.com> + Msg-ID: <Pine.SCO.3.96.970811153021.18457A-100000@laura.burrelles.com> + Files: hints/sco.sh + + ------ UTILITIES ------ + + Title: "perlbug -d non-interactive (with patch)" + From: Ted Ashton <ashted@southern.edu> + Msg-ID: <199708071418.KAA15711@ns.southern.edu> + Files: utils/perlbug.PL + + + +---------------- +Version 5.004_02 Maintenance release 2 for 5.004 +---------------- + +"When you work you are a flute through whose + heart the whispering of the hours turns to music." + -- from The Prophet by Kahlil Gibran + + + HEADLINES FOR THIS MAINTENANCE RELEASE + + Major memory growth bug fixed. + Object destruction is more timely and orderly. + Further major enhancements to Win32 support, including: + Win32 binary compatibility between Visual C++ and Borland C++. + The -S option is now more useful on dos/Win32 (see perlrun). + Implicit -p print now checks for write errors. + DB_File now sub-classable (and other fixes). + Memory usage stats available with perl's malloc (see perldelta). + 'use UNIVERSAL;' deprecated (see perldelta). + Internal integer to string conversions are faster. + Carp can be forced to give stack traces (see perldoc Carp). + Many other bug fixes and enhancements. + + + ------ BUILD PROCESS ------ + + Title: "[PATCH] m2t3: Configure: cf_time always in C locale" + From: Jarkko Hietaniemi <jhi@iki.fi> + Msg-ID: <199708061827.VAA09623@alpha.hut.fi> + Files: Configure + + Title: "Configure can't find open3 on NeXTstep" + From: Andy Dougherty <doughera@newton.phys.lafayette.edu>, hans@icgned.nl + (Hans Mulder) + Msg-ID: <9706271816.AA10551@ icgned.icgned.nl > + Files: Configure + + Title: "Don't use undef value in Config::myconfig" + From: "Andreas J. Koenig" <k@sissy.in-berlin.de>, Chip Salzenberg + <salzench@nielsenmedia.com> + Msg-ID: <199706271525.RAA13517@sissy.in-berlin.de> + Files: configpm + + Title: "make Configure recognize powerux hint (perl5.004_01)" + From: tom@amber.ssd.hcsc.com (Tom Horsley) + Msg-ID: <9707301938.AA08352@amber.ssd.hcsc.com> + Files: Configure + + Title: "[PATCH]: HP-UX 10 w/o transition links" + From: Jeff Okamoto <okamoto@hpcc123.corp.hp.com> + Msg-ID: <199706181851.AA093329906@hpcc123.corp.hp.com>, + <199706231650.AA070364627@hpcc123.corp.hp.com> + Files: Configure + + Title: "INSTALL updates for GNU ld and __inet_* errors" + From: Andy Dougherty <doughera@newton.phys.lafayette.edu> + Files: INSTALL + + ------ CORE LANGUAGE ------ + + Title: "[PATCH] Additional patch for "Can't execute ..."" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199707191651.MAA04897@monk.mps.ohio-state.edu> + Files: pod/perldiag.pod perl.c + + Title: "[PATCH] Band-aid fix for local([@%]$x)" + From: Stephen McCamant <alias@mcs.com> + Msg-ID: <m0wsb7J-000EYPC@alias-2.pr.mcs.net> + Files: pod/perldiag.pod op.c pp_hot.c t/op/local.t + + Title: "[PATCH] Re: Bug in Regular Expressions when using colon as + delimiter" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> + Msg-ID: <E0wtbhv-0005Mm-00@ursa.cus.cam.ac.uk> + Files: pod/perldiag.pod regcomp.c t/op/re_tests t/op/regexp.t + + Title: "[PATCH] Re: Can't pack literals as pointers" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199708012250.SAA20278@aatma.engin.umich.edu> + Files: pod/perldiag.pod pod/perlfunc.pod pp.c t/op/pack.t + + Title: "[PATCH] Do not constant-fold ops that depend on locale if C<use + locale>" + From: Chip Salzenberg <salzench@nielsenmedia.com> + Msg-ID: <199707210519.BAA13785@nielsenmedia.com> + Files: op.c + + Title: "Eval fails in certain situations (eval "{'...")" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199707211753.NAA14940@aatma.engin.umich.edu> + Files: t/comp/term.t toke.c + + Title: "Fix memory leak on eval 'sub {}'" + From: Chip Salzenberg <chip@rio.atlantic.net> + Files: pp_ctl.c + + Title: "stringify looses integerness" + From: Gisle Aas <aas@bergen.sn.no> + Msg-ID: <hbu4l96z2.fsf@bergen.sn.no> + Files: sv.c + + Title: "Fix intolerance of a space between "print" and opening paren" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199707011421.KAA15836@aatma.engin.umich.edu> + Files: toke.c + + Title: "[PATCH] Re: Calling Perl from within C from within Perl" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199706301842.OAA05569@aatma.engin.umich.edu> + Files: perl.c + + Title: "UNIVERSAL.pm and import methods (tests)" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> + Msg-ID: <E0whfHh-0007bW-00@ursa.cus.cam.ac.uk> + Files: t/op/universal.t universal.c + + Title: "Avoid core dump on some paren'd regexp matches", "One-liner regex + causes SEGV on 5.003 under HP-UX and Linux" + From: Hugo van der Sanden <hv@crypt.compulink.co.uk> + Msg-ID: <199706261236.NAA03472@crypt.compulink.co.uk>, + <199707061144.MAA04443@crypt.compulink.co.uk> + Files: regexec.c t/op/re_tests + + Title: "Forbid negative splice offset beyond array start" + From: "John L. Allen" <allen@gateway.grumman.com>, Chip Salzenberg + <chip@rio.atlantic.net> + Msg-ID: <Pine.SOL.3.91.970625111744.19300A-100000@gateway> + Files: pp.c + + Title: "Forbid "goto" into middle of foreach loop" + From: Chip Salzenberg <chip@rio.atlantic.net> + Files: pod/perldiag.pod pp_ctl.c + + Title: "Fix C<qq #hi#>" + From: Chip Salzenberg <chip@rio.atlantic.net> + Files: toke.c + + Title: "bless file handles as FileHandle if loaded else IO::Handle" + From: Gisle Aas <aas@bergen.sn.no> + Msg-ID: <hyb80drrz.fsf@bergen.sn.no> + Files: gv.c lib/FileHandle.pm + + Title: "infinite recursion in malloc() with some compile flags" + From: Hans Mulder <hansmu@xs4all.nl> + Msg-ID: <199706240050.CAA10550@xs2.xs4all.nl> + Files: malloc.c + + Title: "sv_vcatpvfn hogs memory [Patch included]" + From: Matthias Neeracher <neeri@iis.ee.ethz.ch> + Msg-ID: <199706211521.RAA12778@solar.ethz.ch> + Files: sv.c + + Title: "Fix '-' flag on sprintf() of floats" + From: Chip Salzenberg <chip@rio.atlantic.net>, Jarkko Hietaniemi + <jhi@iki.fi> + Msg-ID: <199705270646.JAA02510@alpha.hut.fi> + Files: sv.c + + Title: "Free temps before calling END blocks", "Too late destruction" + From: Chip Salzenberg <chip@rio.atlantic.net> + Msg-ID: <m33erfv5hx.fsf@chany-p100.emwp.com> + Files: perl.c + + Title: "Fix C<print $foo x 2> parsing" + From: "Chuck D. Phillips (NON-HP Employee)" <cdp@hpescdp.fc.hp.com>, Chip + Salzenberg <chip@rio.atlantic.net> + Msg-ID: <199706121737.KAA00503@palrel3.hp.com> + Files: toke.c + + Title: "Fix lockf_emulate_flock() positioning" + From: Chip Salzenberg <chip@rio.atlantic.net>, gen@atd.rdc.ricoh.co.jp + Msg-ID: <199706091132.UAA00895@wampa.atd.rdc.ricoh.co.jp> + Files: pp_sys.c + + Title: "Don't use atol() for unsigned values", "signedness problem in + pack("N", "value");" + From: Chip Salzenberg <chip@rio.atlantic.net>, Roger Espel Llima + <espel@llaic.univ-bpclermont.fr> + Msg-ID: <19970531200007.40218@llaic.univ-bpclermont.fr> + Files: sv.c + + Title: "Don't warn about "${foo}" in string, even if &foo exists" + From: Chip Salzenberg <chip@rio.atlantic.net> + Files: toke.c + + Title: "[PATCH] -p does not check for failure of implicit print" + From: Dominic Dunlop <domo@slipper.ip.lu> + Msg-ID: <v0311070aafea3fa83061@[194.51.248.75]> + Files: pod/perldiag.pod pod/perlrun.pod toke.c + + Title: "Fix double form() in XS version check" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199707150010.UAA00816@monk.mps.ohio-state.edu> + Files: XSUB.h + + Title: "Constant-fold sprintf()" + From: Chip Salzenberg <salzench@nielsenmedia.com> + Files: opcode.pl + + Title: "[PATCH] Fix double form() in XS version check" + From: Chip Salzenberg <salzench@nielsenmedia.com> + Msg-ID: <199707210518.BAA13771@nielsenmedia.com> + Files: XSUB.h + + Title: "[PATCH] Make DEBUGGING_MSTATS info consistent" + From: Andy Dougherty <doughera@newton.phys.lafayette.edu> + Msg-ID: <Pine.SUN.3.96.970731131529.3740A-100000@newton.phys> + Files: INSTALL pod/perldelta.pod perl.h + + Title: "Minor Win32 glitch with -S flag" + From: Warren Jones <wjones@tc.fluke.com> + Msg-ID: <97Jun19.150511pdt.35717-2@gateway.fluke.com> + Files: perl.c + + Title: "Slightly safer signals" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Files: mg.c perl.c + + Title: "Time::Local patch (plus perl.c and filehand.t)" + From: ilya@math.ohio-state.edu (Ilya Zakharevich) + Files: lib/Time/Local.pm perl.c t/lib/filehand.t + + Title: "[PATCH] Weirdness in sv_peek()" + From: Stephen McCamant <alias@mcs.com> + Msg-ID: <m0wsEMU-000EYLC@alias-2.pr.mcs.net>, + <m0wsf7Y-000EYPC@alias-2.pr.mcs.net> + Files: sv.c + + Title: "Win32 UNC path causes autoload to fail" + From: Warren Jones <wjones@tc.fluke.com> + Msg-ID: <97Jun18.163826pdt.35714-1@gateway.fluke.com> + Files: pp_ctl.c + + Title: "[PATCH]: reduced malloc patch" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199707150829.EAA01291@monk.mps.ohio-state.edu> + Files: av.c + + Title: "[PATCH] $\1 and serious bug in evalling" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199707262127.RAA12883@monk.mps.ohio-state.edu> + Files: pp_ctl.c + + Title: "Faster int to string conversion", "[PATCH} Re: memory leak in buffer + safety code" + From: Chip Salzenberg <chip@rio.atlantic.net>, Hugo van der Sanden + <hv@crypt.compulink.co.uk>, Tim Bunce <Tim.Bunce@ig.co.uk> + Msg-ID: <199707140912.KAA09935@crypt.compulink.co.uk>, + <199707142050.QAA20976@rio.atlantic.net>, + <199707182035.VAA20990@crypt.compulink.co.uk>, + <9707151040.AA02883@toad.ig.co.uk> + Files: global.sym sv.c + + Title: "object never destructs" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199707131955.PAA29655@aatma.engin.umich.edu> + Files: scope.c t/op/ref.t + + Title: "[PATCH] -S flag fixes for DOSISH platforms", "[RESEND] [PATCH] -S + flag fixes for DOSISH platforms" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199707250043.UAA02385@aatma.engin.umich.edu>, + <199707301828.OAA19508@aatma.engin.umich.edu> + Files: pod/perldiag.pod pod/perlrun.pod perl.c + + Title: "Perldb internal flag rehaul" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Files: pod/perldebug.pod pod/perlvar.pod perl.h gv.c mg.c op.c perl.c + pp_ctl.c pp_hot.c pp_sys.c sv.c toke.c + + Title: "[PATCH] Re: q and escaping paired delimiters" + From: Gurusamy Sarathy <gsar@engin.umich.edu>, Kenneth Albanowski + <kjahds@kjahds.com> + Msg-ID: <199707280516.BAA14055@aatma.engin.umich.edu>, + <Pine.LNX.3.93.970727172201.350K-100000@kjahds.com>, + <Pine.LNX.3.93.970728013540.350U-100000@kjahds.com> + Files: t/base/lex.t toke.c + + Title: "Enable PERL_DEBUG_MSTATS without -DDEBUGGING_MSTATS" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199707150829.EAA01291@monk.mps.ohio-state.edu> + Files: malloc.c perl.c + + Title: "semctl broken under Linux" + From: Andreas Schwab <schwab@LS5.informatik.uni-dortmund.de>, Andreas + Schwab <schwab@issan.informatik.uni-dortmund.de>, Graham + Barr <gbarr@ti.com>, Tim Bunce <Tim.Bunce@ig.co.uk> + Msg-ID: <33C38291.2D9302DA@ti.com>, + <9707040912.AA03470@issan.informatik.uni-dortmund.de>, + <9707041538.AA08946@toad.ig.co.uk>, + <9707070924.AA11774@issan.informatik.uni-dortmund.de>, + <9707090933.AA19012@issan.informatik.uni-dortmund.de> + Files: doio.c + + Title: "[PATCH] m2t2: problem in NetBSD 1.2D with sfio" + From: Jarkko Hietaniemi <jhi@iki.fi> + Files: perl.h + + Title: "fix substr fix (tests 27 etc)", "perl5.004_02 trial 1 available + (with substr bug and still some" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Hugo van der Sanden + <hv@crypt.compulink.co.uk>, Jarkko Hietaniemi <jhi@iki.fi> + Msg-ID: <199707301759.SAA02899@crypt.compulink.co.uk>, + <199707302228.BAA18032@alpha.hut.fi>, + <199707310929.KAA06515@crypt.compulink.co.uk>, + <E0wtruH-0002JM-00@ursa.cus.cam.ac.uk> + Files: pp.c + + Title: "Fwd: substr("foo", -1000)", "substr: warn if substring doesn't + intersect original at all" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Jarkko Hietaniemi <jhi@iki.fi> + Msg-ID: <199707100655.JAA14924@alpha.hut.fi>, + <E0wm1JG-0000UY-00@taurus.cus.cam.ac.uk> + Files: pod/perlfunc.pod pp.c t/op/substr.t + + Title: "[PATCH] work around compiler bug on CX/UX (perl5.004_01)" + From: tom@amber.ssd.hcsc.com (Tom Horsley) + Msg-ID: <9707301934.AA18594@amber.ssd.hcsc.com> + Files: hints/cxux.sh pp.c + + ------ DOCUMENTATION ------ + + Title: "Duplicates in perlguts.pod" + From: hans@icgned.nl (Hans Mulder) + Msg-ID: <9707082346.AA13231@ icgned.icgned.nl > + Files: pod/perlguts.pod + + Title: "Better "Can't locate auto/%s.al in @INC" error documentation" + From: ilya@math.ohio-state.edu (Ilya Zakharevich) + Msg-ID: <1997Jun24.195847.2091744@hmivax.humgen.upenn.edu> + Files: pod/perldiag.pod + + Title: "new perlembed.pod:match.c" + From: Doug MacEachern <dougm@opengroup.org> + Msg-ID: <199707170355.XAA21370@postman.opengroup.org> + Files: pod/perlembed.pod + + Title: "Document bug fix in localization of $1 etc." + From: Chip Salzenberg <salzench@nielsenmedia.com> + Files: pod/perldelta.pod + + Title: "[PATCH] Major goof in XS Tutorial regarding subdirs" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199707260920.FAA12453@monk.mps.ohio-state.edu> + Files: pod/perlxstut.pod + + Title: "[PATCH] Magic info in perlguts, take 2" + From: Stephen McCamant <alias@mcs.com> + Msg-ID: <m0wr6P8-000EYLC@alias-2.pr.mcs.net> + Files: pod/perlguts.pod + + Title: "[BUG:PATCH] Missing semicolon message wrong in perldiag" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> + Msg-ID: <E0welEn-0002vT-00@taurus.cus.cam.ac.uk>, + <E0wfRJU-0006Aw-00@taurus.cus.cam.ac.uk> + Files: pod/perldiag.pod + + Title: "[PATCH] Updates to perlguts (repost)" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199707152223.SAA00776@monk.mps.ohio-state.edu> + Files: pod/perlguts.pod + + Title: "[BUG:47:LOG] Dropped "and" in pod2man" + From: hans@icgned.nl (Hans Mulder) + Msg-ID: <9707082355.AA13254@ icgned.icgned.nl > + Files: pod/pod2man.PL + + Title: "[BUG] perlembed.pod:power.c example" + From: Doug MacEachern <dougm@opengroup.org> + Msg-ID: <199707181344.JAA10565@postman.opengroup.org> + Files: pod/perlembed.pod + + Title: "[PATCH] arguments swapped in perlapio.pod" + From: Hans Mulder <hansmu@xs4all.nl> + Msg-ID: <199706240049.CAA10534@xs2.xs4all.nl> + Files: pod/perlapio.pod + + Title: "[PATCH] cool quote for perldebug" + From: Greg Bacon <gbacon@adtrn-srv4.adtran.com> + Msg-ID: <199707292140.QAA28579@adtrn-srv4.adtran.com> + Files: pod/perldebug.pod + + Title: "[PATCH] multiline commands in qx//" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199707212350.TAA18496@aatma.engin.umich.edu> + Files: pod/perlfunc.pod pod/perlop.pod + + Title: "patch to 5.004_01 perltrap.pod" + From: jmm@revenge.elegant.com (John Macdonald) + Msg-ID: <9706231525.AA22790@revenge.elegant.com> + Files: pod/perltrap.pod + + Title: "perl4 to perl5.004 converion with debugger problem" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> + Msg-ID: <E0wdKJY-00010w-00@taurus.cus.cam.ac.uk> + Files: pod/perltrap.pod + + Title: "done3/perlbook.pod" + From: Randal Schwartz <merlyn@gadget.cscaper.com> + Files: pod/perlbook.pod + + Title: "[PATCH] readline and readpipe are undocumented" + From: Hans Mulder <hansmu@xs4all.nl> + Files: pod/perlfunc.pod + + Title: "Document use of - in a regex char class." + From: Dominic Dunlop <domo@slipper.ip.lu> + Msg-ID: <v03102804afd578bcef2c@[194.51.248.88]> + Files: pod/perlre.pod + + Title: "[PATCH] splitpod broken in 5.004_01" + From: Hans Mulder <hansmu@xs4all.nl>, Tim Bunce <Tim.Bunce@ig.co.uk> + Msg-ID: <199706240048.CAA10515@xs2.xs4all.nl>, + <9706241612.AA09119@toad.ig.co.uk> + Files: pod/splitpod + + ------ LIBRARY AND EXTENSIONS ------ + + Title: "Carp::cluck() and -MCarp=verbose" + From: Tim.Bunce@ig.co.uk, epeschko@elmer.tci.com (Ed Peschko) + Msg-ID: <199708060607.AAA16681@den-mdev1.tci.com>, + <199708062105.PAA09878@den-mdev1.tci.com> + Files: lib/Carp.pm + + Title: "Warning from calls using "use Shell"" + From: Andrew Pimlott <pimlott@abel.math.harvard.edu> + Msg-ID: <Pine.SOL.3.91.970806173903.7320H-100000@abel> + Files: lib/Shell.pm + + Title: "confessing a carp" + From: Chip Salzenberg <chip@rio.atlantic.net>, Hugo van der Sanden + <hv@crypt.compulink.co.uk>, Nick Ing-Simmons + <nick@ni-s.u-net.com>, Tim Bunce <Tim.Bunce@ig.co.uk> + Msg-ID: <199708052155.WAA25393@crypt.compulink.co.uk>, + <199708060721.IAA30894@crypt.compulink.co.uk>, + <199708061533.LAA01313@rio.atlantic.net>, + <33E79BE2.4E6F@ni-s.u-net.com>, + <33E8E3C5.62C@ni-s.u-net.com>, + <9708051619.AA13764@toad.ig.co.uk> + Files: lib/Carp.pm + + Title: "[BUG:PATCH] dumpvar.pl parses some references incorrectly" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> + Msg-ID: <E0wwAjQ-0004l6-00@ursa.cus.cam.ac.uk> + Files: lib/dumpvar.pl + + Title: "[PATCH] m2t3: minor doc patch (to obsolete I18N::Collate)" + From: Jarkko Hietaniemi <jhi@iki.fi> + Msg-ID: <199708060732.KAA02675@alpha.hut.fi> + Files: lib/I18N/Collate.pm + + Title: "[PATCH] Binary installers for Perl modules" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199707210006.UAA06165@monk.mps.ohio-state.edu> + Files: lib/ExtUtils/Install.pm + + Title: "m2t2 broke CPAN.pm :-(" + From: a.koenig@kulturbox.de (Andreas J. Koenig) + Files: lib/CPAN.pm lib/Bundle/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm + + Title: "[PATCH] CPAN.pm on OS/2" + From: "Andreas J. Koenig" <k@anna.in-berlin.de>, Ilya Zakharevich + <ilya@math.ohio-state.edu> + Msg-ID: <199707180415.AAA03180@monk.mps.ohio-state.edu>, + <199707181407.QAA12920@anna.in-berlin.de> + Files: lib/CPAN.pm + + Title: "Docs of IO::Handle [PATCH]" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199707222307.TAA08380@monk.mps.ohio-state.edu> + Files: ext/IO/lib/IO/Handle.pm + + Title: "Exporter errors give wrong location" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> + Msg-ID: <E0wdJra-0000n8-00@taurus.cus.cam.ac.uk> + Files: lib/Exporter.pm + + Title: "[PATCH] Exporter new export_to_level method" + From: epeschko@elmer.tci.com (Ed Peschko) + Files: lib/Exporter.pm + + Title: "DB_File produces spurious output when trapping __DIE__" + From: pmarquess@bfsec.bt.co.uk (Paul Marquess) + Msg-ID: <9706302125.AA28254@claudius.bfsec.bt.co.uk> + Files: ext/DB_File/DB_File.pm + + Title: "Remove 'use UNIVERSAL;', switch to UNIVERSAL::isa()" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> + Msg-ID: <E0whaZJ-0007BA-00@ursa.cus.cam.ac.uk> + Files: lib/Class/Struct.pm lib/File/Compare.pm lib/File/Copy.pm + + Title: "perl5.004 Time::Local still broken" + From: Mathias Koerber <mathias@dnssec1.singnet.com.sg> + Msg-ID: <199706260452.MAA22647@dnssec1.singnet.com.sg> + Files: lib/Time/Local.pm + + Title: "Sys::Hostname should localize $SIG{__DIE__}" + From: Ken Shan <ken@digitas.harvard.edu> + Msg-ID: <199707070357.XAA18065@digitas.harvard.edu> + Files: lib/Sys/Hostname.pm + + Title: "xsubpp patch" + From: John Tobey <jtobey@user1.channel1.com> + Msg-ID: <199707010221.CAA01234@remote133> + Files: lib/ExtUtils/xsubpp + + Title: "DB_File 1.15 patch" + From: pmarquess@bfsec.bt.co.uk (Paul Marquess) + Msg-ID: <9707192117.AA01973@claudius.bfsec.bt.co.uk> + Files: 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 + + Title: "Problems with setvbuf" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199707250040.UAA11000@monk.mps.ohio-state.edu> + Files: ext/IO/IO.xs + + Title: "[PATCH] Repost of fork() debugger patch" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199707252101.RAA11846@monk.mps.ohio-state.edu> + Files: lib/perl5db.pl lib/Term/ReadLine.pm + + Title: "IO::File and DB_File pollutes namespace with Fcntl constants" + From: Gisle Aas <aas@bergen.sn.no> + Msg-ID: <h205qyijy.fsf@bergen.sn.no> + Files: ext/IO/lib/IO/File.pm + + Title: "[MM] [PATCH] Re: Liblist problems for MSWin32" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199706182152.RAA20273@aatma.engin.umich.edu> + Files: lib/ExtUtils/Liblist.pm + + Title: "Net::hostent documentation error" + From: gnat@frii.com + Msg-ID: <199707082222.QAA24728@elara.frii.com> + Files: lib/Net/hostent.pm + + Title: "PATCH: make DBM*_File modules sub-classable" + From: pmarquess@bfsec.bt.co.uk (Paul Marquess) + Msg-ID: <9707121854.AA19472@claudius.bfsec.bt.co.uk> + Files: ext/GDBM_File/typemap ext/NDBM_File/typemap + ext/ODBM_File/ODBM_File.xs ext/SDBM_File/typemap + t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t t/lib/sdbm.t + + Title: "Sys::Syslog patch to allow unix domain sockets" + From: Sean Robinson <robinson_s@sc.maricopa.edu> + Msg-ID: <33B31342.7EB16A44@sc.maricopa.edu> + Files: lib/Sys/Syslog.pm + + Title: "'use UNIVERSAL;' deprecated, do C<UNIVERSAL::isa()> instead", + "UNIVERSAL.pm and import methods" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Gisle Aas <aas@bergen.sn.no>, + Graham Barr <gbarr@ti.com>, Gurusamy Sarathy + <gsar@engin.umich.edu>, Hugo van der Sanden + <hv@crypt.compulink.co.uk> + Msg-ID: <199706271701.NAA25664@aatma.engin.umich.edu>, + <199706271904.UAA00120@crypt.compulink.co.uk>, + <199706272054.QAA28913@aatma.engin.umich.edu>, + <199706301554.LAA03763@aatma.engin.umich.edu>, + <33B22248.7D7C1985@ti.com>, + <E0wf5TN-0006ps-00@taurus.cus.cam.ac.uk>, + <E0wguTR-0005bs-00@ursa.cus.cam.ac.uk>, + <E0whaZJ-0007BA-00@ursa.cus.cam.ac.uk>, + <E0whfHh-0007bW-00@ursa.cus.cam.ac.uk>, + <E0wiyUG-00073j-00@taurus.cus.cam.ac.uk>, + <hiuyv6q9k.fsf@bergen.sn.no> + Files: lib/Class/Struct.pm lib/File/Compare.pm lib/File/Copy.pm + t/op/universal.t universal.c + + Title: "[MM] Small patch to MakeMaker, new release" + From: "Andreas J. Koenig" <k@anna.in-berlin.de> + Msg-ID: <199706281603.SAA10869@anna.in-berlin.de> + Files: lib/ExtUtils/Command.pm lib/ExtUtils/Install.pm + lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Unix.pm + lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm + + Title: "ExtUtils-Embed upgrade" + From: Doug MacEachern <dougm@opengroup.org> + Files: lib/ExtUtils/Embed.pm + + Title: "[PATCH] icmp tweak for IO::Socket" + From: Nick.Ing-Simmons@tiuk.ti.com + Msg-ID: <199707041240.NAA21484@pluto.tiuk.ti.com> + Files: ext/IO/lib/IO/Socket.pm + + Title: "Allow concurrent mkdir in File::Path::mkpath" + From: schattev@imb-jena.de (Ruben Schattevoy) + Msg-ID: <199707300943.LAA21574@kant.imb-jena.de> + Files: lib/File/Path.pm + + Title: "CPAN.pm, $VERSION and nested (bundled) modules." + From: a.koenig@kulturbox.de (Andreas J. Koenig) + Files: lib/ExtUtils/Install.pm lib/ExtUtils/Liblist.pm + lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm + lib/ExtUtils/Mksymlists.pm + + Title: "[PATCH] perl debugger, win32, and emacs" + From: Jay Rogers <jay@rgrs.com> + Msg-ID: <199707311759.NAA13276@crooked-i.mitre.org> + Files: lib/perl5db.pl + + Title: "[PATCH] pod2html mangles C<&foo(42);>" + From: Hans Mulder <hansmu@xs4all.nl> + Msg-ID: <199706250057.CAA10162@xs1.xs4all.nl> + Files: lib/Pod/Html.pm + + Title: "[PATCH] posix.xs broken on VMS 7.1" + From: Dan Sugalski <sugalsd@lbcc.cc.or.us> + Msg-ID: <3.0.2.32.19970718095755.00875ba0@stargate.lbcc.cc.or.us> + Files: ext/POSIX/POSIX.xs + + Title: "MM_Unix.pm nits for Win32 DMAKE" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199708032051.QAA14248@aatma.engin.umich.edu> + Files: lib/ExtUtils/MM_Unix.pm + + Title: "Sys::Hostname -w unclean in trial 2" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199708032055.QAA14278@aatma.engin.umich.edu> + Files: lib/Sys/Hostname.pm + + Title: "(3) File::Find::find()/finddepth() bugs with toplevel paths" + From: "Conrad E. Kimball" <cek@tblv021.ca.boeing.com> + Msg-ID: <199707040045.RAA24459@mailgate2.boeing.com> + Files: lib/File/Find.pm + + ------ OTHER CHANGES ------ + + Title: "EMERGENCY_SBRK or PERL_EMERGENCY_SBRK ?" + From: Andy Dougherty <doughera@newton.phys.lafayette.edu>, + ilya@math.ohio-state.edu (Ilya Zakharevich) + Msg-ID: <1997Aug1.191631.2167470@hmivax.humgen.upenn.edu>, + <Pine.SUN.3.96.970801134400.4393F-100000@newton.phys> + Files: + Files: + + ------ PORTABILITY - WIN32 ------ + + Title: "[PATCH] Embedding threaded apps in perl.dll" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199707261518.LAA24346@aatma.engin.umich.edu>, + <199707301833.OAA19570@aatma.engin.umich.edu> + Files: win32/win32.c + + Title: "Minor fix for pl2bat.bat", "[PATCH] Re: Minor fix for pl2bat.bat" + From: Gurusamy Sarathy <gsar@engin.umich.edu>, Warren Jones + <wjones@tc.fluke.com> + Msg-ID: <199707061843.OAA23874@aatma.engin.umich.edu>, + <97Jun24.115804pdt.35752-2@gateway.fluke.com> + Files: win32/bin/pl2bat.bat + + Title: "WIN32 Build - pod2xxx.bat Missing?", "[PATCH] Re: WIN32 Build - + pod2xxx.bat Missing?" + From: Chris Williams <chrisw@netinfo.com.au>, Gurusamy Sarathy + <gsar@engin.umich.edu> + Msg-ID: <199707011423.KAA15855@aatma.engin.umich.edu>, + <33B8B962.D96FA1F5@netinfo.com.au> + Files: win32/Makefile win32/makefile.mk + + Title: "[PATCH] Win32 sitelib intuition from DLL location" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199706231647.MAA23260@aatma.engin.umich.edu> + Files: win32/win32.h win32/config_h.PL win32/win32.c + + Title: "[PATCH] binary coexistence on win32", "[RESEND] [PATCH] binary + coexistence on win32" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199707250109.VAA02666@aatma.engin.umich.edu>, + <199707301829.OAA19516@aatma.engin.umich.edu> + Files: lib/ExtUtils/Mksymlists.pm win32/win32.h win32/win32io.h + win32/win32iop.h win32/makedef.pl win32/win32.c + win32/win32io.c + + Title: "[PATCH] docs for win32 utilities" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199707250045.UAA02510@aatma.engin.umich.edu> + Files: win32/bin/pl2bat.bat win32/bin/runperl.bat + + Title: "[PATCH] exec() fixed on win32" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199706241525.LAA06554@aatma.engin.umich.edu> + Files: win32/win32.h win32/win32io.h win32/win32iop.h README.win32 doio.c + win32/config_H.bc win32/config_H.vc win32/makedef.pl + win32/win32.c win32/win32io.c + + Title: "[PATCH] getenv() after my_setenv() gets old entry on Win32" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199706231700.NAA23400@aatma.engin.umich.edu> + Files: win32/win32.h win32/win32.c + + Title: "[PATCH] getservby*() calls fail on Windows NT" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199706231654.MAA23276@aatma.engin.umich.edu> + Files: win32/win32sck.c + + Title: "[PATCH] minor win32 scribbles" + From: Gurusamy Sarathy <gsar@engin.umich.edu>, Hugo van der Sanden + <hv@crypt.compulink.co.uk> + Msg-ID: <199707262307.TAA28410@aatma.engin.umich.edu>, + <199707270832.JAA19399@crypt.compulink.co.uk> + Files: pod/perldelta.pod README.win32 win32/Makefile win32/config.bc + win32/config.vc win32/makefile.mk + + Title: "[PATCH] trial2: some batch files won't run" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199708040226.WAA17301@aatma.engin.umich.edu> + Files: win32/bin/pl2bat.bat win32/bin/runperl.bat + + Title: "[PATCH] win32 docs and runperl.bat" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199707070446.AAA29560@aatma.engin.umich.edu> + Files: MANIFEST README.win32 win32/bin/pl2bat.bat win32/bin/runperl.bat + + Title: "[PATCH] win32 extras and embedding" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199707250232.WAA03421@aatma.engin.umich.edu>, + <199707301831.OAA19528@aatma.engin.umich.edu> + Files: dosish.h win32/win32.h perl.c win32/config.bc win32/config_H.bc + win32/makedef.pl win32/perllib.c win32/win32.c + + Title: "[PATCH] win32 tweaks" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199707042150.RAA01065@aatma.engin.umich.edu> + Files: win32/win32.h win32/win32.c + + Title: "[PATCH] win32_stat() fixes (2nd try)" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199708040137.VAA16810@aatma.engin.umich.edu> + Files: t/op/stat.t win32/win32iop.h win32/win32.c + + ------ PORTABILITY - OTHER ------ + + Title: "Additional OS/2 patches" + From: Gurusamy Sarathy <gsar@engin.umich.edu>, Ilya Zakharevich + <ilya@math.ohio-state.edu> + Msg-ID: <199708020823.EAA19521@monk.mps.ohio-state.edu>, + <199708021424.KAA28561@aatma.engin.umich.edu>, + <199708042108.RAA27671@aatma.engin.umich.edu> + Files: README.os2 os2/Changes perl.c + + Title: "Additional patch is needed for os2/diff.configure" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199708020745.DAA19483@monk.mps.ohio-state.edu> + Files: os2/diff.configure + + Title: "Assorted OS/2 fixes" + From: ilya@math.ohio-state.edu (Ilya Zakharevich) + Msg-ID: <1997Jun16.163234.2091727@hmivax.humgen.upenn.edu> + Files: hints/os2.sh os2/diff.configure os2/os2ish.h README.os2 os2/Changes + os2/Makefile.SHs os2/os2.c util.c + + Title: "[PATCH] Changes for VMS 7.1 support" + From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>, Dan Sugalski + <sugalsd@lbcc.cc.or.us> + Msg-ID: <01ILDXUH0J1W00026U@hmivax.humgen.upenn.edu>, + <3.0.2.32.19970718095935.0087a2d0@stargate.lbcc.cc.or.us> + Files: vms/sockadapt.h vms/config.vms vms/sockadapt.c + + Title: "[PATCH] Easier TCP stack selection for VMS" + From: Dan Sugalski <sugalsd@lbcc.cc.or.us> + Msg-ID: <3.0.1.32.19970624151939.00994490@stargate.lbcc.cc.or.us> + Files: vms/descrip.mms + + Title: "Minor VMS patches" + From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> + Msg-ID: <01ILCUO6XXTE000WFK@hmivax.humgen.upenn.edu> + Files: lib/ExtUtils/MM_VMS.pm vms/vmsish.h vms/descrip.mms vms/test.com + vms/vms.c vms/ext/filespec.t + + Title: "[PATCH] Two un-disabled tests for VMS" + From: Dan Sugalski <sugalsd@lbcc.cc.or.us> + Msg-ID: <3.0.2.32.19970718095842.00879220@stargate.lbcc.cc.or.us> + Files: vms/test.com + + Title: "fixes for hints/svr4 for UnixWare >= 2.1.1" + From: John Hughes <john@titanic.atlantech.com> + Msg-ID: <199707021230.OAA24230@titanic.AtlanTech.COM> + Files: hints/svr4.sh + + Title: "make depend loop fix and minor OS/2 improvements to build process" + From: ilya@math.ohio-state.edu (Ilya Zakharevich) + Files: Makefile.SH hints/os2.sh os2/Makefile.SHs + + ------ TESTS ------ + + Title: "Add xor tests to test suite" + From: Hugo van der Sanden <hv@crypt.compulink.co.uk> + Msg-ID: <199706250730.IAA06097@crypt.compulink.co.uk> + Files: t/comp/cmdopt.t + + Title: "[PATCH] enable some tests on Win32" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199707250029.UAA02351@aatma.engin.umich.edu> + Files: t/op/magic.t + + Title: "Fix up problems with *DBM tests" + From: Paul Marquess <pmarquess@bfsec.bt.co.uk> + Files: t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t t/lib/sdbm.t + + ------ UTILITIES ------ + + Title: "[PATCH] m2t3: utils/perlbug.PL: -ok report is not a bug" + From: Jarkko Hietaniemi <jhi@iki.fi> + Msg-ID: <199708071022.NAA13008@alpha.hut.fi> + Files: utils/perlbug.PL + + Title: "perlbug - check sendmail and fix win32 tmp path" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199708060349.XAA15895@aatma.engin.umich.edu> + Files: utils/perlbug.PL + + Title: "OK: perl <some_version> on <some_system> (corrected)", "enhancements + to perlbug -ok" + From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Stephen McCamant <alias@mcs.com> + Msg-ID: <E0wukVt-0006Da-00@ursa.cus.cam.ac.uk>, + <E0wvMQl-00055y-00@ursa.cus.cam.ac.uk>, + <m0wv81x-000EYPC@alias-2.pr.mcs.net> + Files: utils/Makefile utils/perlbug.PL + + Title: "perlbug -ok [PATCH]" + From: "Charles F. Randall" <crandall@free.click-n-call.com> + Msg-ID: <199706181824.MAA04082@free.click-n-call.com> + Files: utils/perlbug.PL + + Title: "perlbug broken" + From: Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + Msg-ID: <9707040912.AA03466@issan.informatik.uni-dortmund.de> + Files: utils/perlbug.PL + + Title: "[PATCH] perlbug under OS/2" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199707180333.XAA03102@monk.mps.ohio-state.edu> + Files: utils/perlbug.PL + + Title: "perldoc doesn't grok Win32 UNC paths" + From: Warren Jones <wjones@tc.fluke.com> + Msg-ID: <97Jun17.184420pdt.35728-1@gateway.fluke.com>, + <97Jun18.165618pdt.35713-1@gateway.fluke.com> + Files: utils/perldoc.PL + + Title: "[PATCH] perldoc under OS/2" + From: Ilya Zakharevich <ilya@math.ohio-state.edu> + Msg-ID: <199707180340.XAA03114@monk.mps.ohio-state.edu> + Files: utils/perldoc.PL + + Title: "h2ph corrections to avoid redefined sub warnings" + From: wdconsta <wdconsta@cs.adelaide.edu.au> + Msg-ID: <Pine.SV4.3.93.970708143446.23808A-100000@florence.teaching.cs.adelaide.edu.au> + Files: utils/h2ph.PL + + + +---------------- +Version 5.004_01 Maintenance release 1 for 5.004 +---------------- + +"Practice random kindness and senseless acts of beauty" + -- Anne Herbert + + HEADLINES FOR THIS MAINTENANCE RELEASE + + (..., undef, ...) = split(...) bug fixed. + Win32 support greatly improved, now very strong. + Memory leak using Tied hashes and arrays fixed. + Documentation updates. + Many other bug fixes and enhancements. + + CORE LANGUAGE + + Title: "[PATCH] first true value returned by scalar C<...> is wrong" + From: hansm@euronet.nl + Files: pp_ctl.c t/op/flip.t + + Title: "Regex Bug in 5.003_26 thru 003_99a" + From: Andreas Karrer <karrer@ife.ee.ethz.ch>, Chip Salzenberg + <chip@atlantic.net> + Msg-ID: <199705152303.BAA08890@kuru.ee.ethz.ch>, + <199705161915.PAA18721@rio.atlantic.net> + Files: regcomp.h regcomp.c regexec.c + + Title: "[PATCH] -w interacts badly with -Dt" + From: Spider Boardman <spider@Orb.Nashua.NH.US> + Files: sv.c + + Title: "No DESTROY on untie. Tie memory leak fixed." + From: Gurusamy Sarathy <gsar@engin.umich.edu>, Jay Rogers <jay@rgrs.com>, + pmarquess@bfsec.bt.co.uk (Paul Marquess) + Msg-ID: <199705170235.WAA00267@fluffy.rgrs.com>, + <199705172156.RAA20561@aatma.engin.umich.edu>, + <9705171506.AA04491@claudius.bfsec.bt.co.uk> + Files: pp_hot.c + + Title: "magic_clear_all_env proto should match svt_clear" + From: Nick Ing-Simmons <nik@tiuk.ti.com> + Files: proto.h mg.c + + Title: "[PATCH] ENV leaks on win32 (was Re: Comments on ENV patch sought)", + "[PATCH] for NETaa13787: %ENV=(); doesn't clear the environment" + From: hansm@euronet.nl, pvhp@forte.com (Peter Prymmer) + Msg-ID: <199705292240.AAA01135@mail.euronet.nl> + Files: embed.h perl.h proto.h global.sym mg.c t/op/magic.t + + Title: "Patch to show @INC when require dies" + From: avera@hal.com (Jim Avera) + Msg-ID: <9705230121.AA27872@membrane.hal.com> + Files: pp_ctl.c + + Title: "[PATCH] bug with m// nested inside s///e" + From: hansm@euro.net + Files: op.c t/op/subst.t + + DOCUMENTATION + + Title: "[PATCH] perlembed Win32 update" + From: Doug MacEachern <dougm@opengroup.org> + Files: pod/perlembed.pod + + Title: "perldiag.pod patch - "(W) substr outside string" is "(S)evere" if + used as lvalue." + From: John Hughes <john@AtlanTech.COM> + Files: pod/perldiag.pod + + Title: "local(%ENV) looses magic - document behaviour" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Files: pod/perlsub.pod + + Title: "[PATCH] perlguts caveats", "perlguts additions" + From: Gurusamy Sarathy <gsar@engin.umich.edu>, ilya@math.ohio-state.edu + (Ilya Zakharevich) + Msg-ID: <199705180052.UAA22066@aatma.engin.umich.edu>, + <199705180202.WAA22826@aatma.engin.umich.edu>, + <199705301341.JAA05204@aatma.engin.umich.edu>, + <1997May17.235722.2033087@hmivax.humgen.upenn.edu> + Files: pod/perlguts.pod + + Title: "pod2man produces broken pages", "weird condition in perldelta breaks + nroff" + From: Davin Milun <milun@cs.Buffalo.EDU>, Hans Mulder <hansm@icgned.nl> + Msg-ID: <199705310447.AAA15721@obelix.cs.Buffalo.EDU>, + <1997May25.192350.2055977@hmivax.humgen.upenn.edu> + Files: pod/pod2man.PL + + Title: "Perl 5 pod2man fix", "perlguts man page corrupted" + From: chen@adi.com (Franklin Chen), gnat@frii.com, lvirden@cas.org, tom + (Tom Dinger on Feste), tom@edc.com (Tom Dinger on Feste) + Msg-ID: <199705210013.UAA09599@menhaden.adi.com>, + <199706011305.JAA18271@cas.org>, + <199706012116.PAA14102@elara.frii.com>, + <9504250959.AA23419@feste.edc.com>, + <9504251700.AA23823@feste.edc.com> + Files: pod/pod2man.PL + + Title: "[PATCH] reference form chomp to chop in perlfunc" + From: hansm@euronet.nl + Files: pod/perlfunc.pod + + Title: "pod2man gags if "=pod" is before "=head1 NAME"" + From: whyde@pezz.sps.mot.com (Warren Hyde) + Msg-ID: <9705212115.AA21730@pezz.sps.mot.com> + Files: pod/pod2man.PL + + Title: "perlfunc.pod unclear about return value range of rand" + From: "Tuomas J. Lukka" <tjl@lukka.student.harvard.edu> + Msg-ID: <m0wSMiC-000C9xC@lukka.student.harvard.edu> + Files: pod/perlfunc.pod + + Title: "Error in perllol manpage", "Error in perllol manpage (fwd)" + From: Chris Wick <cwick@lmc.com> + Files: pod/perllol.pod + + Title: "5.004 removed deprecated %OVERLOAD support silently" + From: jon@sems.com (Jonathan Biggar) + Msg-ID: <199705232319.QAA28388@clamp.netlabs.com> + Files: pod/perldelta.pod + + Title: "[PATCH] Documentation bugs" + From: Stephen Potter <spp@psa.pencom.com> + Files: pod/perldata.pod pod/perldiag.pod pod/perlfaq8.pod pod/perlfaq9.pod + pod/perlop.pod pod/perlsub.pod pod/perltoot.pod + + Title: "5.004 POD stuff", "make html - any takers?", "make html --> unusable + xref links", "pod/*.html -- all hyperlinks are invalid" + From: "Darren/Torin/Who Ever..." <torin@daft.com>, "Paul D. Smith" + <psmith@BayNetworks.COM>, Gurusamy Sarathy + <gsar@engin.umich.edu>, Jarkko Hietaniemi <jhi@iki.fi>, + Michael R Cook <mcook@cognex.com>, avera@hal.com (Jim + Avera), lvirden@cas.org + Msg-ID: <199705162008.XAA06906@alpha.hut.fi>, + <199705171830.OAA15652@erawan.cognex.com>, + <199706081749.NAA04552@aatma.engin.umich.edu>, + <1997May16.191039.2033079@hmivax.humgen.upenn.edu>, + <87hgg2y1h4.fsf@perv.daft.com>, + <9705161931.AA01075@membrane.hal.com>, + <9705191839.AA28702@lemming.engeast> + Files: INSTALL pod/perldiag.pod installhtml + + Title: "checkpods- forget blank line status when starting a new file" + From: Larry Parmelee <parmelee@CS.Cornell.EDU> + Files: pod/checkpods.PL + + Title: "installhtml: Fix 'no title' & 'unexpected ...' warnings. Double speed." + From: Tim Bunce + Files: installhtml lib/Pod/Html.pm pod/splitpod + + LIBRARY AND EXTENSIONS + + Title: "sdbm can fail if a config.h exists in system directories" + From: Tim Bunce + Files: ext/SDBM_File/sdbm/Makefile.PL + + Title: "LWP and SIG __DIE__ traps not playing well together!" + From: Gisle Aas <aas@bergen.sn.no> + Files: lib/AutoLoader.pm + + Title: "Memory Consumption of autosplit_lib_modules/sv_gets (workaround)" + From: Matthias Neeracher <neeri@iis.ee.ethz.ch> + Files: lib/AutoSplit.pm + + Title: "Comments of this Sys::Syslog patch", "Unusual Sys::Syslog behaviour + with FQDN ? [Even in 5.004 - a bug?]" + From: Jarkko Hietaniemi <jhi@iki.fi>, Russ Allbery <rra@stanford.edu>, + alansz@mellers1.psych.berkeley.edu (Alan Schwartz) + Msg-ID: <199705231621.TAA16790@alpha.hut.fi>, <5m4fjr$rhs@agate.berkeley.edu> + Files: lib/Sys/Syslog.pm + + Title: "Patch to CPAN.pm (perl5.004) for ncftp" + From: "Richard L. Maus, Jr." <rmaus@monmouth.com> + Msg-ID: <337FBAC8.167EB0E7@monmouth.com> + Files: lib/CPAN.pm + + Title: "[PATCH] Harness.pm bug w/perl5.004 & VMS" + From: Dan Sugalski <sugalsd@lbcc.cc.or.us> + Msg-ID: <3.0.1.32.19970530102300.008a2730@stargate.lbcc.cc.or.us> + Files: lib/Test/Harness.pm + + Title: "more Fcntl constants [PATCH]" + From: Jarkko Hietaniemi <jhi@iki.fi> + Files: ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs + + Title: "5.004 breaks ftp.pl due to missing (although obsolete) chat2.pl" + From: Tim Bunce + Files: lib/chat2.pl + + BUILD PROCESS + + Title: "make test && ... doesn't work" + From: Tim Bunce + Files: Makefile.SH + + Title: "[PATCH] INSTALL-1.18" + From: Andy Dougherty <doughera@fractal.phys.lafayette.edu> + Msg-ID: <Pine.SOL.3.95q.970529142739.662D-100000@fractal.lafayette.edu> + Files: INSTALL + + Title: "improved gnuwin32 Configure support" + From: Chris Faylor <cgf@bbc.com> + Msg-ID: <199706070318.XAA09214@hardy.bbc.com> + Files: Configure + + Title: "installhtml problems finding splitpod" + From: lvirden@cas.org + Files: installhtml INSTALL + + Title: "perl 5.004 (and 01) man pages not generated and installed" + From: lvirden@cas.org (Larry W. Virden) + Files: installman + + Title: "oddity in Configure" + From: Mike Stok <mike@stok.co.uk> + Files: Configure + + Title: "perl5.004 on AIX: Patches", "perl5.004 on FreeBSD and AIX" + From: Peter van Heusden <pvh@junior.uwc.ac.za> + Msg-ID: <Pine.A32.3.93.970519142625.22442B-100000@junior.uwc.ac.za>, + <Pine.A32.3.93.970519163700.25188A-100000@junior.uwc.ac.za> + Files: Makefile.SH perl_exp.SH ext/DynaLoader/dl_aix.xs perlio.sym + + Title: "Compiling perl5.004 on NEWS-OS 4.x" + From: Makoto MATSUSHITA (=?ISO-2022-JP?B?GyRCJF4kRCQ3JD8kXiQzJEgbKEI=?=) + <matusita@ics.es.osaka-u.ac.jp> + Msg-ID: <19970521132814F.matusita@ics.es.osaka-u.ac.jp> + Files: Configure hints/newsos4.sh + + PORTABILITY + + Title: "win32: additional default libraries" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199705291332.JAA21560@aatma.engin.umich.edu> + Files: lib/ExtUtils/MM_Win32.pm + + Title: "[PATCH] win32 minor fixes" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Files: lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_Win32.pm win32/config.bc + + Title: "[PATCH] clean up perlocal.pod output on VMS" + From: pvhp@forte.com (Peter Prymmer) + Files: lib/ExtUtils/MM_VMS.pm + + Title: "[PATCH] Re: Term::ReadKey on Win32: set console" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Files: lib/Term/ReadLine.pm + + Title: "[PATCH] Pod::Text nit for Win32" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Files: lib/Pod/Text.pm + + Title: "pathname bug in xsubpp on win32" + From: jon@sems.com (Jonathan Biggar) + Msg-ID: <199705230126.SAA23401@clamp.netlabs.com> + Files: lib/ExtUtils/xsubpp + + Title: "MakeMaker stumbles on Win32 UNC paths" + From: Warren Jones <wjones@TC.FLUKE.COM> + Files: lib/ExtUtils/MM_Win32.pm + + Title: "build problem on SGI R10000 PowerChallenge (IRIX 6.2) lseek proto" + From: Jarkko Hietaniemi <jhi@iki.fi> + Files: doio.c + + Title: "Perl 5.004 + Linux 2.0.30 & semctl()" + From: Andy Dougherty <doughera@fractal.phys.lafayette.edu>, Jordan + Mendelson <jordy@snappy.wserv.com> + Files: doio.c + + Title: "lib/io_udp.t fails on VMS" + From: Jonathan.Hudson@jrhudson.demon.co.uk + Msg-ID: <XFMail.970522181042.Jonathan.Hudson@jrhudson.demon.co.uk> + Files: pp_sys.c + + Title: "Compilation of mg.c from perl5.004m1t2 fails on OpenVMS/AXP" + From: Henrik Tougaard <ht.000@foa.dk> + Files: mg.c t/op/taint.t + + Title: "[PATCH] (NEXT|OPEN)STEP hints" + From: Gerd Knops <gerti@BITart.com> + Files: hints/next_3.sh hints/next_4.sh + + Title: "win32: user defined shell" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199705291339.JAA21682@aatma.engin.umich.edu> + Files: pod/perlrun.pod win32/win32.c + + Title: "misc perl5.004 doc fixes, especially vms" + From: lvirden@cas.org (Larry W. Virden) + Msg-ID: <199705160419.AAA16317@cas.org> + Files: pod/perlfaq4.pod vms/perlvms.pod lib/Pod/Html.pm pod/roffitall + vms/ext/DCLsym/DCLsym.pm vms/ext/Stdio/Stdio.pm + + Title: "[PATCH] gen_shrfls.pl too picky for Dec C 5.6 preprocessor output" + From: Dan Sugalski <sugalsd@lbcc.cc.or.us> + Files: vms/gen_shrfls.pl + + Title: "[PATCH] win32: Configure cf_email" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199705301335.JAA05079@aatma.engin.umich.edu> + Files: win32/Makefile win32/config.bc win32/config.vc win32/config_sh.PL + win32/makefile.mk + + Title: "[PATCH] README.win32 nits" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Files: README.win32 + + Title: "Document cause and remedy for op/taint.t failure" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Files: README.win32 + + Title: "SVR4 hints for DDE SMES Supermax Enterprise Server" + From: Jarkko Hietaniemi <jhi@iki.fi> + Files: hints/svr4.sh + + Title: "porting.help" + From: Tim Bunce + Files: Porting/pumpkin.pod Porting/preprel + + Title: "Major 5.004 Win32 update (Borland win32 support, and other patches)", + "($a,undef,$b) = qw(a b c) and ties delaying DESTROY fixes" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Files: MANIFEST pod/perlguts.pod win32/include/sys/socket.h EXTERN.h + opcode.h perl.h regcomp.h ext/Fcntl/Fcntl.pm + ext/SDBM_File/Makefile.PL lib/ExtUtils/Install.pm + lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_Win32.pm + lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm + lib/File/DosGlob.pm t/op/mkdir.t t/op/stat.t win32/win32.h + win32/win32io.h win32/win32iop.h README.win32 doio.c gv.c + mg.c op.c perlio.c pp.c pp_ctl.c pp_hot.c pp_sys.c 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/makeperldef.pl win32/perlglob.c + win32/perllib.c win32/win32.c win32/win32io.c + win32/win32sck.c + + Title: "[PATCH] Re: Maintenance release (remove PERL_DUMMY_SIZE)" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Files: opcode.h perl.h regcomp.h win32/win32.h gv.c + + Title: "[PATCH] ENV leaks on win32 (was Re: Comments on ENV patch sought)" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Files: win32/win32.h win32/win32io.h win32/win32iop.h global.sym mg.c perl.c + t/op/magic.t util.c win32/makedef.pl win32/win32.c + win32/win32io.c + + Title: "[PATCH] win32: ExtUtils::Liblist support" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Files: lib/ExtUtils/Liblist.pm win32/Makefile win32/config.bc + win32/makefile.mk + + Title: "[PATCH] Re: borland C++Perl embedding failures re __declspec()" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Files: win32/win32.c + + Title: "No need to use `pwd` in t/op/magic.t test for amigaos" + From: Norbert Pueschel <pueschel@imsdd.meb.uni-bonn.de> + Files: t/op/magic.t + + TESTS + + Title: "Tests depend on locale" + From: "Jan D." <jan.djarv@mbox200.swipnet.se>, Jarkko Hietaniemi + <jhi@iki.fi> + Msg-ID: <199705191127.NAA08148@ostrich.gaia.swipnet.se>, + <199705191230.PAA21070@alpha.hut.fi> + Files: t/lib/safe2.t t/op/mkdir.t + + Title: "op/groups test fails on Linux (groups in /bin)" + From: "Jan D." <jan.djarv@mbox200.swipnet.se> + Msg-ID: <199705191120.NAA08130@ostrich.gaia.swipnet.se> + Files: t/op/groups.t + + Title: "More simple regexp tests and test docs" + From: Hans Mulder <hansm@euronet.nl> + Files: t/op/re_tests t/op/regexp.t + + Title: "[PATCH] Re: Using undef to ignore values returned from split" + From: Hugo van der Sanden <hv@crypt.compulink.co.uk> + Files: t/op/split.t + + UTILITIES + + Title: "bad test of -A flag in h2xs" + From: "Jeffrey S. Haemer" <jsh@woodcock.boulder.qms.com> + Files: utils/h2xs.PL + + Title: "[PATCH] h2xs missing from utils/Makefile" + From: hansm@euronet.nl + Files: utils/Makefile + + Title: "PATCH: bug in perlbug w.r.t. environment variables", "bug in perlbug + w.r.t. environment variables" + From: "Jan D." <jan.djarv@mbox200.swipnet.se>, Jarkko Hietaniemi + <jhi@iki.fi> + Msg-ID: <199705191841.UAA00969@ostrich.gaia.swipnet.se>, + <199705191857.VAA09154@alpha.hut.fi> + Files: utils/perlbug.PL + + Title: "[PATCH] final newline missing in MANIFEST generated by h2xs" + From: hansm@euronet.nl + Files: utils/h2xs.PL + + +------------- +Version 5.004 +------------- + +"Hey, Rocky! Watch me pull a release out of my hat!" +"Aww, that trick never works..." + + CORE LANGUAGE CHANGES + + Title: "Make C<m//g> reset pos on failure; make C<m//gc> not reset" + From: Chip Salzenberg + Files: dump.c op.c op.h pod/perldelta.pod pod/perlfaq6.pod + pod/perlop.pod pod/perlre.pod pp_ctl.c pp_hot.c regcomp.c + t/op/pat.t toke.c + + Title: "SECURITY: Forbid exec() if $ENV{BASH_ENV} is tainted" + From: Chip Salzenberg + Files: pod/perldelta.pod pod/perlrun.pod pod/perlsec.pod t/op/taint.t + taint.c + + Title: "Allow exec() if $ENV{TERM} is tainted but innocuous" + From: Chip Salzenberg + Files: pod/perldelta.pod pod/perlrun.pod pod/perlsec.pod t/op/taint.t + taint.c + + Title: "Allow globbing when tainted under VMS (no external program)" + From: Chip Salzenberg + Files: pp_sys.c t/op/taint.t + + CORE PORTABILITY + + Title: "Make Irix hints adapt when n32 libm.so is missing" + From: Chip Salzenberg + Files: hints/irix_6.sh + + Title: "Fix default HP-UX installation path" + From: Jeff Okamoto + Msg-ID: <199705132228.AA227042483@hpcc123.corp.hp.com> + Date: Tue, 13 May 1997 15:28:04 -0700 + Files: hints/hpux.sh + + Title: "VMS update, including socket support (four patches)" + From: Jonathan Hudson <Jonathan.Hudson@jrhudson.demon.co.uk>, + Peter Prymmer <pvhp@forte.com>, + Dan Sugalski <sugalsd@lbcc.cc.or.us> + Files: vms/config.vms vms/descrip.mms vms/sockadapt.h vms/vms.c + vms/vmsish.h + + Title: "Win32 update (three patches)" + From: Gurusamy Sarathy + Files: README.win32 perl.c win32/Makefile win32/config.H + win32/config_h.PL win32/config_sh.PL win32/makedef.pl + win32/win32.c win32/win32.h win32/win32io.c win32/win32io.h + win32/win32iop.h + + Title: "Don't require executable bit on perl -S if DOSISH" + From: Danny Sadinoff <sadinoff@olf.com> + Msg-ID: <337351CE.79B28DE3@olf.com> + Date: Fri, 09 May 1997 12:33:18 -0400 + Files: perl.c + + OTHER CORE CHANGES + + Title: "In C<eval &func>, always call &func in scalar context" + From: Chip Salzenberg + Files: op.c + + Title: "Fix recursive substitution" + From: Chip Salzenberg; test from Tim Bunce + Files: cop.h global.sym pp_ctl.c proto.h scope.c t/op/subst.t + + Title: "Make read with <> from a TTY notice EOF" + From: Jonathan I. Kamens <jik@kamens.brookline.ma.us> + Msg-ID: <199705121147.HAA03845@jik.saturn.net> + Date: Mon, 12 May 1997 07:47:13 -0400 + Files: sv.c + + Title: "Fix core dump from get*() functions returning no alias array" + From: Chip Salzenberg + Files: pp_sys.c + + Title: "Fix typo" + From: Mark K Trettin <mkt@lucent.com> + Msg-ID: <199705102228.RAA11163@gv18c.ih.lucent.com> + Date: Sat, 10 May 1997 17:28:35 -0500 + Files: pp_sys.c + + BUILD PROCESS + + Title: "Don't use 'unset' in Configure" + From: Chip Salzenberg + Files: Configure + + Title: "Protect against having no such command as 'cc'" + From: Hans Mulder <hansm@icgned.nl> + Msg-ID: <1997May12.163534.2006434@hmivax.humgen.upenn.edu> + Date: Mon, 12 May 1997 16:35:34 -0400 (EDT) + Files: Configure + + Title: "minor wording enhancement for Configure" + From: Jarkko Hietaniemi + Msg-ID: <199705101038.NAA00471@alpha.hut.fi> + Date: Sat, 10 May 1997 13:38:31 +0300 (EET DST) + Files: Configure + + LIBRARY AND EXTENSIONS + + Title: "Refresh CGI.pm to 2.36" + From: Lincoln Stein <lstein@genome.wi.mit.edu> + Files: eg/cgi/frameset.cgi eg/cgi/javascript.cgi lib/CGI.pm + + Title: "In IO::File::open, prepend './' less often (for Win32 et al)" + From: Chip Salzenberg + Files: ext/IO/lib/IO/File.pm + + Title: "Fix core dump on IO::Seekable::setpos($fh, undef)" + From: Chip Salzenberg + Files: ext/IO/IO.xs t/lib/io_xs.t + + TESTS + + Title: "Make rand.t vanishingly unlikely to give false failure" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.96.970510190846.23340K-100000@kelly.teleport.com> + Date: Sat, 10 May 1997 19:57:30 -0700 (PDT) + Files: t/op/rand.t + + Title: "Fix sleep test: sleep(N) is defined to allow sleeping N-1" + From: Chuck D. Phillips <cdp@hpescdp.fc.hp.com> + Msg-ID: <199705151735.KAA01143@palrel1.hp.com> + Date: Thu, 15 May 1997 11:35:41 -0600 + Files: t/op/sleep.t + + UTILITIES + + Title: "h2xs and @EXPORT_OK" + From: Jeff Okamoto + Msg-ID: <199705092348.AA057881699@hpcc123.corp.hp.com> + Date: Fri, 9 May 1997 16:48:20 -0700 + Files: utils/h2xs.PL + + DOCUMENTATION + + Title: "Tweaks for perldelta" + From: hansm@euronet.nl + Msg-ID: <199705102346.BAA17300@mail.euronet.nl> + Date: Sun, 11 May 97 01:46:00 +0200 + Files: pod/perldelta.pod + + Title: "Mention perlfaq.pod and perlmodlib.pod in perldelta.pod" + From: Chip Salzenberg + Files: pod/perldelta.pod + + Title: "Fix example of use of lexicals with formats" + From: Chip Salzenberg + Files: pod/perldelta.pod + + Title: "Explain that destruction order is not defined" + From: Gurusamy Sarathy <gsar@engin.umich.edu> + Msg-ID: <199705150600.CAA13550@aatma.engin.umich.edu> + Date: Thu, 15 May 1997 02:00:23 -0400 + Files: pod/perltoot.pod + + Title: "Note that DATA filehandle is unavailable during BEGIN {}" + From: neilb@cre.canon.co.uk (Neil Bowers) + Msg-ID: <199705121227.NAA29718@tardis.cre.canon.co.uk> + Date: Mon, 12 May 1997 13:27:43 +0100 + Files: pod/perldata.pod + + Title: "More detailed IO::Socket documentation" + From: Tom Christiansen + Msg-ID: <199705141456.IAA19061@jhereg.perl.com> + Date: Wed, 14 May 1997 08:56:30 -0600 + Files: pod/perlipc.pod + + +----------------- +Version 5.003_99a +----------------- + +Herein we find the fruits of the gamma. + + CORE LANGUAGE CHANGES + + Title: "SECURITY: Forbid glob() when tainting (-T or setuid)" + From: Chip Salzenberg + Files: pod/perlrun.pod pod/perlsec.pod pp_sys.c + + Title: "SECURITY: Forbid exec() if $ENV{TERM} or $ENV{ENV} is tainted" + From: Chip Salzenberg + Files: pod/perlrun.pod pod/perlsec.pod t/op/taint.t taint.c + + CORE PORTABILITY + + Title: "(NeXT|Open)Step update" + From: Gerd Knops <gerti@BITart.com> + Msg-ID: <9705072247.AA18882@BITart.com> + Date: Wed, 7 May 97 17:47:02 -0500 + Files: Configure MANIFEST config_h.SH hints/next_3.sh hints/next_4.sh + + Title: "NetBSD hint update" + From: Giles Lean <giles@nemeton.com.au> + Msg-ID: <199705051346.XAA13584@topaz.nemeton.com.au> + Date: Mon, 5 May 1997 23:46:37 +1000 (EST) + Files: hints/netbsd.sh + + Title: "Irix hint update" + From: Scott Henry <scotth@sgi.com> + Msg-ID: <yd83es0fp57.fsf@hoshi.engr.sgi.com> + Date: 06 May 1997 11:09:56 -0700 + Files: hints/irix_6.sh + + Title: "HPUX: patch for ext/DynaLoader/dl_hpux.xs" + From: Chuck D. Phillips <cdp@hpescdp.fc.hp.com> + Msg-ID: <199705050548.WAA21260@palrel1.hp.com> + Date: Sun, 4 May 1997 23:48:39 -0600 + Files: ext/DynaLoader/dl_hpux.xs + + Title: "Win32 update (consolidated patch plus three followups)" + From: Gurusamy Sarathy + Files: EXTERN.h README.win32 lib/Sys/Hostname.pm pod/perldelta.pod + win32/config.H win32/config.w32 win32/config_sh.PL win32/perllib.c + win32/win32.c win32/win32.h win32/include/sys/socket.h + + Title: "Win32 boot_DynaLoader problem in 99" + From: Gary Clark <GaryC@mail.jeld-wen.com> + Msg-ID: <1997May05.105000.1708.84476@mail.jeld-wen.com> + Date: Mon, 05 May 1997 10:49:03 -0700 + Files: win32/makedef.pl + + OTHER CORE CHANGES + + Title: "Fix wantarray() in sort subs [fixes metaconfig]" + From: Chip Salzenberg + Files: pp_ctl.c + + Title: "Fix for redefined sort subs nastiness" + From: Gurusamy Sarathy + Msg-ID: <199705090004.UAA15032@aatma.engin.umich.edu> + Date: Thu, 08 May 1997 20:04:18 -0400 + Files: op.c pod/perldelta.pod pod/perldiag.pod sv.c t/op/sort.t + + BUILD PROCESS + + Title: "AFS patches" + From: Chip Salzenberg, Larry Schwimmer <rosebud@cyclone.Stanford.EDU> + Files: Configure installperl + + LIBRARY AND EXTENSIONS + + Title: "Another blank line patch to Pod::Text" + From: Russ Allbery <rra@stanford.edu> + Msg-ID: <m3afm5g6ar.fsf@windlord.Stanford.EDU> + Date: 08 May 1997 11:36:12 -0700 + Files: lib/Pod/Text.pm + + TESTS + + (no other changes) + + UTILITIES + + Title: "Three bugs in pod2html" + From: hansm@euronet.nl + Msg-ID: <199705052228.AAA25351@mail.euronet.nl> + Date: Tue, 6 May 97 00:28:06 +0200 + Files: lib/Pod/Html.pm + + Title: "Trivial bugfix for pod of xsubpp" + From: Ralf S. Engelschall <rse@engelschall.com> + Msg-ID: <199705051447.QAA09995@en1.engelschall.com> + Date: Mon, 5 May 1997 16:47:03 +0200 + Files: lib/ExtUtils/xsubpp + + Title: "Newer CPerl mode" + From: Ilya Zakharevich + Msg-ID: <199705080032.UAA22532@monk.mps.ohio-state.edu> + Date: Wed, 7 May 1997 20:32:46 -0400 (EDT) + Files: emacs/cperl-mode.el + + DOCUMENTATION + + Title: "Updates to perldelta" + From: Chip Salzenberg and Dominic Dunlop + Files: pod/perldelta.pod + + Title: "More explicit Solaris instructions" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970508171206.438A-100000@fractal.lafayette.ed + Date: Thu, 08 May 1997 17:14:54 -0400 (EDT) + Files: INSTALL hints/solaris_2.sh + + Title: "Document 'Possible attempt to separate words with commas'" + From: Gisle Aas + Msg-ID: <hyb9snvdw.fsf@bergen.sn.no> + Date: 06 May 1997 23:27:55 +0200 + Files: pod/perlop.pod + + Title: "perlfaq9, hostname" + From: John D Groenveld <groenvel@cse.psu.edu> + Msg-ID: <199705061741.NAA22777@cse.psu.edu> + Date: Tue, 06 May 1997 13:41:12 EDT + Files: pod/perlfaq9.pod + + Title: "Debugger docs patch" + From: Ilya Zakharevich + Msg-ID: <199705080107.VAA24317@monk.mps.ohio-state.edu> + Date: Wed, 7 May 1997 21:07:14 -0400 (EDT) + Files: pod/perldebug.pod + + Title: "Document that C<m?x?> is just like C<?x?>" + From: Chip Salzenberg + Files: pod/perlop.pod + + Title: "Refresh description of sprintf()" + From: Chip Salzenberg + Files: pod/perl.pod pod/perlfunc.pod + + Title: "Mention the Regular Expressions book" + From: Stephen Potter <spp@psa.pencom.com> + Msg-ID: <199705071737.MAA18799@psa.pencom.com> + Date: Wed, 07 May 1997 12:37:37 -0500 + Files: pod/perlbook.pod pod/perlre.pod + + Title: "OS/2 doc patch for _99" + From: Ilya Zakharevich + Msg-ID: <199705080046.UAA23466@monk.mps.ohio-state.edu> + Date: Wed, 7 May 1997 20:46:45 -0400 (EDT) + Files: README.os2 + + +---------------- +Version 5.003_99 +---------------- + +"Oops." Now this _has_ to be the gamma; we're out of numbers. + + CORE LANGUAGE CHANGES + + (no changes) + + CORE PORTABILITY + + Title: "NeXT hints update" + From: hansm@euronet.nl + Msg-ID: <199704302229.AAA02690@mail.euronet.nl> + Date: Thu, 1 May 97 00:28:41 +0200 + Files: Configure Makefile.SH hints/next_4.sh + + Title: "Support shared libperl on AIX" + From: Eric Bartley <bartley@icd.cc.purdue.edu> + Msg-ID: <199704270131.UAA51426@icd.cc.purdue.edu> + Date: Sat, 26 Apr 1997 20:31:37 -0500 + Files: Configure Makefile.SH hints/aix.sh + + OTHER CORE CHANGES + + Title: "Fix NUL-termination bug in delimcpy()" + From: Chip Salzenberg + Files: util.c + + Title: "Forget prototype of subroutine after C<undef &subr>" + From: Chip Salzenberg + Files: op.c + + Title: "Handle tainted values in lists returned from subs, evals" + From: Chip Salzenberg + Files: pp_ctl.c pp_hot.c t/op/taint.t + + Title: "Fix sysread() on tied handle" + From: Spider Boardman + Msg-ID: <199705010601.CAA04926@Orb.Nashua.NH.US> + Date: Thu, 1 May 1997 02:01:20 -0400 + Files: pp_sys.c + + Title: "Fix OS/2-specific buffer overflow" + From: Ilya Zakharevich + Msg-ID: <199704301920.PAA09681@monk.mps.ohio-state.edu> + Date: Wed, 30 Apr 1997 15:20:01 -0400 (EDT) + Files: os2/os2.c + + BUILD PROCESS + + Title: "Add new globals to perl.exp" + From: Chip Salzenberg + Files: perl_exp.SH + + LIBRARY AND EXTENSIONS + + Title: "Refresh DB_File to 1.14" + From: Paul Marquess + Msg-ID: <9704302045.AA05484@claudius.bfsec.bt.co.uk> + Date: Wed, 30 Apr 1997 21:45:09 +0100 (BST) + Files: 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 + + TESTS + + Title: "Disable op/pipe.t test under Machten" + From: Dominic Dunlop <domo@slipper.ip.lu> + Msg-ID: <v03102801af8e160d3879@[194.51.248.68]> + Date: Thu, 1 May 1997 12:48:26 +0200 + Files: t/io/pipe.t + + UTILITIES + + Title: "typo fixes to installhtml" + From: lvirden@cas.org (Larry W. Virden) + Msg-ID: <199705011114.HAA26968@cas.org> + Date: Thu, 1 May 1997 07:14:31 -0400 + Files: installhtml + + DOCUMENTATION + + Title: "Fix description of av_undef() in perlguts" + From: Gisle Aas + Msg-ID: <199705011042.MAA09897@bergen.sn.no> + Date: Thu, 1 May 1997 12:42:46 +0200 + Files: pod/perlguts.pod + + Title: "Fix typo in perldelta" + From: Chip Salzenberg + Files: pod/perldelta.pod + + +---------------- +Version 5.003_98 +---------------- + +Here it is, the second public beta (a.k.a gamma). + + CORE LANGUAGE CHANGES + + Title: "Support C< $coderef->($x,$y) >" + From: Chip Salzenberg + Files: perly.c perly.c.diff perly.y pod/perldelta.pod pod/perldsc.pod + pod/perlref.pod t/op/ref.t vms/perly_c.vms + + CORE PORTABILITY + + (no changes) + + OTHER CORE CHANGES + + Title: "Fix C< hex('80') * 0x1000000 >" + From: Chip Salzenberg + Files: opcode.pl + + Title: "Reset errno after failed piped close" + From: Roderick Schertler + Msg-ID: <28152.862264940@eeyore.ibcinc.com> + Date: Mon, 28 Apr 1997 18:02:20 -0400 + Files: lib/Time/gmtime.pm lib/Time/localtime.pm pod/perlfunc.pod + t/io/pipe.t util.c + + Title: "Fix warning wrt return value of PerlIO_getname()" + From: Spider Boardman + Msg-ID: <199704300448.AAA24174@Orb.Nashua.NH.US> + Date: Wed, 30 Apr 1997 00:48:13 -0400 + Files: perlio.c + + BUILD PROCESS + + (no changes) + + LIBRARY AND EXTENSIONS + + (no changes) + + TESTS + + (no other changes) + + UTILITIES + + (no changes) + + DOCUMENTATION + + Title: "Describe Math::Trig in perlmodlib" + From: Chip Salzenberg + Files: pod/perlmodlib.pod + + Title: "Add new diagnostics to perldelta" + From: Chip Salzenberg + Files: pod/perldelta.pod pod/perldiag.pod + + +----------------- +Version 5.003_97j +----------------- + +This patch should be _98, unless it's egregiously broken somehow. + + CORE LANGUAGE CHANGES + + (no changes) + + CORE PORTABILITY + + Title: "Return to favoring memset(,0,) over bzero()" + From: Chip Salzenberg + Files: perl.h + + Title: "NetBSD hint update" + From: matthew green <mrg@splode.eterna.com.au> + Msg-ID: <199704251021.EAA22570@jhereg.perl.com> + Date: Fri, 25 Apr 1997 20:18:02 +1000 + Files: hints/netbsd.sh + + Title: "HP-UX hint update" + From: Chuck D. Phillips <cdp@hpescdp.fc.hp.com> + Msg-ID: <199704280535.WAA22441@palrel1.hp.com> + Date: Sun, 27 Apr 1997 23:35:07 -0600 + Files: hints/hpux.sh + + Title: "Win32 update (three patches)" + From: Gurusamy Sarathy and Nick Ing-Simmons + Files: win32/makedef.pl win32/perllib.c win32/win32.c + + OTHER CORE CHANGES + + Title: "Update sprintf: '%hn'; '%s',NULL; panic on frexp() failure" + From: Chip Salzenberg + Files: perl.h pod/perldiag.pod sv.c + + Title: "Fix lingering '%S' in XS_VERSION_BOOTCHECK" + From: Chip Salzenberg + Files: XSUB.h + + Title: "Eliminate Alpha warnings" + From: Hallvard B Furuseth and Chip Salzenberg + Files: perlsdio.h pp_sys.c + + Title: "Fix typo in NeXT dynaloader" + From: Chip Salzenberg + Files: ext/DynaLoader/dl_next.xs + + Title: "Fix possible buffer overflow under VMS" + From: Chip Salzenberg + Files: taint.c + + BUILD PROCESS + + (no changes) + + LIBRARY AND EXTENSIONS + + Title: "Refresh CGI.pm to 2.35" + From: Lincoln Stein <lstein@genome.wi.mit.edu> + Files: lib/CGI.pm + + Title: "Refresh DB_File to 1.13" + From: Paul Marquess + Msg-ID: <9704271413.AA08876@claudius.bfsec.bt.co.uk> + Date: Sun, 27 Apr 1997 15:12:59 +0100 (BST) + Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs + + Title: "SelfLoader: fix prototype pattern, rename intrusive lexical" + From: Jesse Glick <jesse@ginger> and Chip Salzenberg + Files: lib/SelfLoader.pm + + TESTS + + (no changes) + + UTILITIES + + (no changes) + + DOCUMENTATION + + Title: "Split perlmod" + From: Tom Christiansen + Msg-ID: <199704260050.RAA02468@toy.perl.com> + Date: Fri, 25 Apr 1997 20:50:09 -0400 + Files: MANIFEST pod/Makefile pod/buildtoc pod/perl.pod + pod/perldsc.pod pod/perlfaq3.pod pod/perlipc.pod + pod/perlmod.pod pod/perlmodlib.pod pod/perlobj.pod + pod/perltie.pod pod/roffitall + + Title: "Describe __PACKAGE__ in perldelta" + From: Chip Salzenberg + Files: pod/perldelta.pod + + Title: "Doc fix for close of pipe handle" + From: Chip Salzenberg + Files: pod/perlfunc.pod + + +----------------- +Version 5.003_97i +----------------- + +This patch eliminates all known sources of buffer overflow! (And the +crowd goes wild. (Yeah.)) Showstoppers only between here and _98. + + CORE LANGUAGE CHANGES + + (no changes) + + CORE PORTABILITY + + Title: "Provide memset() if it's missing" + From: Chip Salzenberg + Files: global.sym perl.h proto.h util.c + + Title: "Don't tell GCC that warn(), croak(), and die() are printf-lik + From: Chip Salzenberg + Files: proto.h + + OTHER CORE CHANGES + + Title: "Misc. sv_vcatpvfn() fixes" + From: Hugo, Dale, Nick, Hallvard, Chip + Files: gv.c mg.c op.c perl.c pp.c pp_ctl.c sv.c toke.c util.c + + Title: "Enforce order of sprintf() elements" + From: Chip Salzenberg + Files: sv.c + + Title: "Guard against long numbers, <<LONG_DELIM, and <long glob>" + From: Chip Salzenberg + Files: global.sym mg.c perl.c pod/perldiag.pod proto.h toke.c util.c + + Title: "Guard against C<goto> to deeply nested label" + From: Chip Salzenberg + Files: pod/perldiag.pod pp_ctl.c + + Title: "Guard against overflow in dup2() emulation" + From: Chip Salzenberg + Files: util.c + + Title: "Win32: Guard against long function names" + From: Chip Salzenberg + Files: win32/win32sck.c + + Title: "Make mess() always work, by using a non-arena SV" + From: Chip Salzenberg, from idea by Gurusamy Sarathy + Files: perl.c util.c + + Title: "Fix scalar leak in pp_prtf()" + From: Doug MacEachern + Msg-ID: <199704241706.NAA19140@postman.osf.org> + Date: Thu, 24 Apr 1997 13:06:21 -0400 + Files: pp_sys.c + + Title: "When copying a format line, take only its string value" + From: Chip Salzenberg + Files: sv.c + + Title: "Undo private patch" + From: Chip Salzenberg + Files: installperl lib/ExtUtils/Install.pm + + Title: "Fix LEAKTEST numbers" + From: Chip Salzenberg + Files: ext/DynaLoader/dl_vms.xs handy.h os2/os2.c util.c vms/vms.c + win32/win32.c win32/win32sck.c + + BUILD PROCESS + + Title: "Cope with a <db.h> that isn't related to DB" + From: Jarkko Hietaniemi + Msg-ID: <199704241728.UAA09951@alpha.hut.fi> + Date: Thu, 24 Apr 1997 20:28:39 +0300 (EET DST) + Files: Configure + + LIBRARY AND EXTENSIONS + + Title: "Always NUL-terminate opsets" + From: Chip Salzenberg + Files: ext/Opcode/Opcode.xs + + Title: "Don't core dump if my_inet_aton() get a NULL" + From: Chip Salzenberg + Files: ext/Socket/Socket.xs + + Title: "Handle symlinks, high permission bits in File::Path" + From: Chip Salzenberg + Files: lib/File/Path.pm + + Title: "Math::{Complex,Trig} update" + From: Jarkko Hietaniemi + Msg-ID: <199704242221.BAA30363@alpha.hut.fi> + Date: Fri, 25 Apr 1997 01:21:44 +0300 (EET DST) + Files: lib/Math/Complex.pm lib/Math/Trig.pm pod/roffitall + t/lib/complex.t t/lib/trig.t + + TESTS + + (no other changes) + + UTILITIES + + Title: "Fix buffer overflow in a2p" + From: Chip Salzenberg + Files: x2p/a2py.c + + DOCUMENTATION + + Title: "FAQ udpate (24-apr-97)" + From: Nathan Torkington <gnat@prometheus.frii.com> + Msg-ID: <199704242247.QAA07010@prometheus.frii.com> + Date: Thu, 24 Apr 1997 16:47:23 -0600 (MDT) + Files: pod/perlfaq*.pod + + Title: "Document new {,s}printf() behavior" + From: Chip Salzenberg + Files: pod/perldelta.pod pod/perlfunc.pod + + +----------------- +Version 5.003_97h +----------------- + +This patch eliminates almost all possible sources of buffer overflow; +in particular, there are no more sprintf() bugs. (!!) This patch +also has a few other fixes. With these changes in place, I can sleep +at night. (Because I've stopped hacking. :-)) + + CORE LANGUAGE CHANGES + + Title: "Support PRINTF for tied handles" + From: Doug MacEachern + Msg-ID: <199704202226.SAA08032@postman.osf.org> + Date: Sun, 20 Apr 1997 18:26:13 -0400 + Files: pod/perldelta.pod pod/perltie.pod pp_sys.c t/op/misc.t + + CORE PORTABILITY + + Title: "Fix bitwise shifts and pack('w') on Crays" + From: Chip Salzenberg + Files: pp.c + + Title: "Win32 update (two patches)" + From: Gurusamy Sarathy + Files: lib/AutoSplit.pm lib/ExtUtils/MM_Unix.pm win32/config.w32 + win32/makedef.pl + + OTHER CORE CHANGES + + Title: "Mondo Cool patch for buffer safety and convenience" + From: Chip Salzenberg + Files: XSUB.h doop.c dump.c ext/DynaLoader/dl_dlopen.xs + ext/DynaLoader/dl_hpux.xs ext/DynaLoader/dl_next.xs + ext/DynaLoader/dlutils.c ext/ODBM_File/ODBM_File.xs + global.sym gv.c interp.sym mg.c op.c perl.c perl.h + pod/perlguts.pod pp.c pp_ctl.c pp_hot.c pp_sys.c proto.h + regcomp.c regexec.c sv.c toke.c util.c + + Title: "Problems with glob" + From: Ilya Zakharevich + Msg-ID: <1997Apr20.024432.1941365@hmivax.humgen.upenn.edu> + Date: Sun, 20 Apr 1997 02:44:32 -0400 (EDT) + Files: op.c + + Title: "Fix scalar leak in closures" + From: Chip Salzenberg + Files: op.c scope.c + + Title: "Refine error messages re: anon subs' prototypes" + From: Chip Salzenberg + Files: op.c + + Title: "Outermost scope is void, not scalar" + From: Chip Salzenberg + Files: pp_ctl.c + + BUILD PROCESS + + Title: "Fix up Linux hints for tcsh, and Configure patch" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970422101051.2506C-100000@fractal.lafayette.e + Date: Tue, 22 Apr 1997 11:02:27 -0400 (EDT) + Files: Configure hints/linux.sh + + Title: "There is no standard answer to 'Use suidperl?'" + From: Chip Salzenberg + Files: hints/bsdos.sh hints/freebsd.sh hints/linux.sh + hints/machten_2.sh + + LIBRARY AND EXTENSIONS + + Title: "Math::Complex update" + From: Jarkko Hietaniemi + Files: lib/Math/Complex.pm t/lib/complex.t + + Title: "Croak on C<use autouse> without module name" + From: Chip Salzenberg + Files: lib/autouse.pm + + Title: "Silence warnings on simple C<use ops>" + From: Roderick Schertler + Msg-ID: <pzybafum6k.fsf@eeyore.ibcinc.com> + Date: 19 Apr 1997 10:22:43 -0400 + Files: ext/Opcode/ops.pm + + TESTS + + Title: "Don't put leading newline on numeric strings" + From: Andreas Koenig + Msg-ID: <199704230847.KAA22752@anna.in-berlin.de> + Date: Wed, 23 Apr 1997 10:47:00 +0200 + Files: t/pragma/constant.t + + UTILITIES + + (no changes) + + DOCUMENTATION + + Title: "FAQ udpate (23-apr-97)" + From: Nathan Torkington <gnat@prometheus.frii.com> + Msg-ID: <199704231822.MAA05074@prometheus.frii.com> + Date: Wed, 23 Apr 1997 12:22:55 -0600 (MDT) + Files: pod/perlfaq*.pod + + Title: "Two doublewords less" + From: Jarkko Hietaniemi + Msg-ID: <199704201938.WAA07722@alpha.hut.fi> + Date: Sun, 20 Apr 1997 22:38:13 +0300 (EET DST) + Files: pod/perlrun.pod vms/perlvms.pod + + +----------------- +Version 5.003_97g +----------------- + +This one has two security bug fixes for buffer overflows. Perl has +not yet been searched to see if more fixes are needed. + + CORE LANGUAGE CHANGES + + Title: "Improve sysseek(), remove systell(), fix Opcode" + From: Chip Salzenberg + Files: doio.c ext/Opcode/Makefile.PL ext/Opcode/Opcode.pm + ext/Opcode/Opcode.xs global.sym keywords.pl opcode.pl + pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod pp_sys.c + proto.h t/op/sysio.t toke.c + + Title: "Fix (and test) spaces in {,un}pack()" + From: Chip Salzenberg + Files: pp.c t/op/pack.t + + CORE PORTABILITY + + Title: "Irix update" + From: Scott Henry <scotth@sgi.com> + Msg-ID: <yd8d8rsi0ln.fsf@hoshi.engr.sgi.com> + Date: 18 Apr 1997 12:37:24 -0700 + Files: MANIFEST hints/irix_6.sh hints/irix_6_0.sh hints/irix_6_1.sh + + Title: "ExtUtils/Miniperl.pm not built on Win32" + From: Nick Ing-Simmons + Msg-ID: <199704181742.SAA08407@ni-s.u-net.com> + Date: Fri, 18 Apr 1997 18:42:32 +0100 + Files: win32/Makefile + + OTHER CORE CHANGES + + Title: "SECURITY FIX: 'Identifier too long'" + From: Chip Salzenberg + Files: pod/perldelta.pod pod/perldiag.pod toke.c + + Title: "SECURITY FIX: Buffer overflow in gv_fetchfile()" + From: Chip Salzenberg + Files: gv.c + + Title: "Remove pp_method() inefficiency from last patch" + From: Chip Salzenberg + Files: pp_hot.c + + BUILD PROCESS + + Title: "Fix unnecessary re-linking" + From: Chip Salzenberg + Files: lib/ExtUtils/MM_Unix.pm + + Title: "Fix tcsh hack in Configure" + From: Chip Salzenberg + Files: Configure + + Title: "Minor, optional patch to Makefile.SH" + From: "Randy J. Ray" <rjray@uswest.com> + Msg-ID: <rjray-9703180132.AA00374040@snakepit.ecte.uswc.uswest.com> + Date: Thu, 17 Apr 1997 19:32:17 -0600 + Files: Makefile.SH + + LIBRARY AND EXTENSIONS + + Title: "Patch to Getopt::Long" + From: Johan Vromans <jvromans@squirrel.nl> + Msg-ID: <m0wIKCO-00081IC@phoenix.squirrel.nl> + Date: Fri, 18 Apr 97 22:24 MET DST + Files: lib/Getopt/Long.pm + + Title: "Fix NAME in SDBM_File build" + From: Chip Salzenberg + Files: ext/SDBM_File/sdbm/Makefile.PL + + TESTS + + (no other changes) + + UTILITIES + + Title: "Make h2ph generate constant subs" + From: Roderick Schertler + Msg-ID: <pz2088w5ot.fsf@eeyore.ibcinc.com> + Date: 18 Apr 1997 14:23:46 -0400 + Files: utils/h2ph.PL + + DOCUMENTATION + + Title: "Document {,un}pack changes" + From: Paul Marquess + Msg-ID: <9704181249.AA11733@claudius.bfsec.bt.co.uk> + Date: Fri, 18 Apr 97 13:49:39 BST + Files: pod/perldelta.pod pod/perldiag.pod + + +----------------- +Version 5.003_97f +----------------- + +This is it before _98. No more last-minute features. Really, I mean +it this time. No kidding. + + CORE LANGUAGE CHANGES + + Title: "New operator systell()" + From: Chip Salzenberg + Files: doio.c ext/Opcode/Opcode.pm keywords.pl opcode.pl + pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod pp_sys.c + t/op/sysio.t toke.c + + Title: "Allow constant sub to be optimized when called with parens" + From: Chip Salzenberg + Files: toke.c + + Title: "Make {,un}pack fail on invalid pack types" + From: Chip Salzenberg + Files: pod/perldiag.pod pp.c + + CORE PORTABILITY + + Title: "Fix bitwise ops and {,un}pack() on Cray CPUs" + From: Chip Salzenberg + Files: pp.c + + Title: "VMS update" + From: Charles Bailey + Files: lib/Cwd.pm lib/File/Path.pm lib/FindBin.pm vms/perly_c.vms + vms/vms.c vms/writemain.pl + + Title: "Win32 update (three patches)" + From: Gurusamy Sarathy and Nick Ing-Simmons + Files: lib/Cwd.pm lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_Win32.pm + lib/File/Basename.pm win32/Makefile win32/makedef.pl + win32/perllib.c win32/win32.c win32/win32iop.h + + OTHER CORE CHANGES + + Title: "Fix error messages on method lookup failure" + From: Chip Salzenberg + Files: pp_hot.c + + Title: "Fix use of var before init in util.c" + From: Gurusamy Sarathy + Msg-ID: <199704162342.TAA20773@aatma.engin.umich.edu> + Date: Wed, 16 Apr 1997 19:42:41 -0400 + Files: util.c + + BUILD PROCESS + + Title: "Linux hints: Allow build w/o suidperl, prefer tcsh to csh" + From: Michael De La Rue <mikedlr@tardis.ed.ac.uk> + Files: Configure hints/linux.sh + + LIBRARY AND EXTENSIONS + + Title: "Fix bug in Opcode when (maxo & 15) > 8" + From: Chip Salzenberg + Files: ext/Opcode/Makefile.PL ext/Opcode/Opcode.pm + ext/Opcode/Opcode.xs + + Title: "CGI.pm broke again" + From: Andreas Koenig + Msg-ID: <199704171136.NAA24859@anna.in-berlin.de> + Date: Thu, 17 Apr 1997 13:36:28 +0200 + Files: lib/CGI.pm + + Title: "Revise quotewords()" + From: Shishir Gundavaram <shishir@ruby.ora.com> + Files: lib/Text/ParseWords.pm + + TESTS + + (no other changes) + + UTILITIES + + (no changes) + + DOCUMENTATION + + Title: "Doc updates: INSTALL-1.13, pumpkin.pod-1.9" + From: Andy Dougherty + Files: INSTALL Porting/pumpkin.pod + + Title: "Document size restrictions for packed integers" + From: Jarkko Hietaniemi + Files: pod/perlfunc.pod + + +----------------- +Version 5.003_97e +----------------- + +Y'know, I've heard of this "beta" thing, but it's been so long since +I've seen one, I'm not sure it really exists... + + CORE LANGUAGE CHANGES + + Title: "New operator: sysseek()" + From: Chip Salzenberg + Files: doio.c ext/Opcode/Makefile.PL ext/Opcode/Opcode.pm global.sym + keywords.pl opcode.pl pod/perldelta.pod pod/perlfunc.pod + pp_sys.c t/op/sysio.t toke.c + + Title: "Allow recursive substitution again" + From: Chip Salzenberg + Files: pod/perldelta.pod pod/perldiag.pod pp_hot.c + + CORE PORTABILITY + + Title: "Use size_t for socket size parameters of GNU libc" + From: Chip Salzenberg + Files: doio.c pp_sys.c + + Title: "Fix STMT_{START,END} under g++" + From: Steven Parkes <parkes@sierravista.com> + Msg-ID: <199704141935.MAA11240@monterey.sierravista.com> + Date: Mon, 14 Apr 1997 12:35:34 -0700 + Files: perl.h + + Title: "Win32 update (four patches)" + From: Gurusamy Sarathy and Nick Ing-Simmons + Files: MANIFEST README.win32 dosish.h ext/SDBM_File/Makefile.PL + ext/SDBM_File/sdbm/Makefile.PL ext/SDBM_File/sdbm/sdbm.c + ext/SDBM_File/sdbm/sdbm.h lib/ExtUtils/MM_Unix.pm perl.c + utils/perlbug.PL utils/perldoc.PL win32/Makefile win32/TEST + win32/config.H win32/config.w32 win32/config_h.PL + win32/config_sh.PL win32/perllib.c win32/runperl.c + win32/win32.c win32/win32io.c win32/win32sck.c + + OTHER CORE CHANGES + + Title: "New API function: perl_eval_pv()" + From: Doug MacEachern + Msg-ID: <199704142113.RAA06823@postman.osf.org> + Date: Mon, 14 Apr 1997 17:13:41 -0400 + Files: perl.c pod/perlcall.pod pod/perldelta.pod pod/perlembed.pod + pod/perlguts.pod proto.h + + Title: "Fix C< s//whatever/ >, which reuses old pattern" + From: Chip Salzenberg + Files: pp_hot.c regexec.c + + Title: "Return a value from PerlIO_{,un}getc" + From: Hallvard B Furuseth + Msg-ID: <199704131228.OAA05695@bombur2.uio.no> + Date: Sun, 13 Apr 1997 14:28:14 +0200 (MET DST) + Files: perlio.c + + Title: "Fix for environment leak" + From: skimo@breughel.ufsia.ac.be (Sven Verdoolaege) + Msg-ID: <19970415103246.NN46698@breughel.ufsia.ac.be> + Date: Tue, 15 Apr 1997 10:32:46 +0200 + Files: util.c + + Title: "Fix comments in seed()" + From: Hallvard B Furuseth + Msg-ID: <199704141758.TAA06895@bombur2.uio.no> + Date: Mon, 14 Apr 1997 19:58:38 +0200 (MET DST) + Files: pp.c + + BUILD PROCESS + + Title: "Put extensions' autoload files in $archlib" + From: Chip Salzenberg + Files: installperl + + Title: "Use '-fPIC' for debugging compiles under Solaris with gcc" + From: Hallvard B Furuseth + Files: Configure + + LIBRARY AND EXTENSIONS + + Title: "Refresh CGI to 2.34" + From: Chip Salzenberg + Files: eg/cgi/customize.cgi eg/cgi/tryit.cgi lib/CGI.pm + lib/CGI/Apache.pm + + Title: "Debugger update" + From: Ilya Zakharevich + Msg-ID: <199704142115.RAA09923@monk.mps.ohio-state.edu> + Date: Mon, 14 Apr 1997 17:15:27 -0400 (EDT) + Files: lib/perl5db.pl + + Title: "diagnostics: $/ gotcha" + From: Andreas Koenig + Msg-ID: <199704151814.UAA03404@anna.in-berlin.de> + Date: Tue, 15 Apr 1997 20:14:01 +0200 + Files: lib/diagnostics.pm + + Title: "Update File::Path" + From: Andreas Koenig + Msg-ID: <199704151401.QAA02556@anna.in-berlin.de> + Date: Tue, 15 Apr 1997 16:01:07 +0200 + Files: lib/File/Path.pm t/lib/filepath.t + + Title: "User::pwent.pm: g{,e}cos" + From: Tom Christiansen + Msg-ID: <199704130135.TAA23274@jhereg.perl.com> + Date: Sat, 12 Apr 1997 19:35:54 -0600 + Files: lib/User/pwent.pm + + Title: "Sys::Syslog: hyphens in hostnames" + From: Jarkko Hietaniemi + Msg-ID: <199704151421.RAA19693@alpha.hut.fi> + Date: Tue, 15 Apr 1997 17:21:53 +0300 (EET DST) + Files: lib/Sys/Syslog.pm + + Title: "Clean up format of dlopen() debug info" + From: Hallvard B Furuseth + Files: ext/DynaLoader/dl_dlopen.xs + + TESTS + + (no changes) + + UTILITIES + + Title: "xsubpp incorrectly handles 'class::newthing()'" + From: "John Q. Linux" <jql@jql.accessone.com> + Msg-ID: <199704122201.PAA01780@jql.accessone.com> + Date: Sat, 12 Apr 1997 15:01:33 -0700 + Files: lib/ExtUtils/xsubpp + + DOCUMENTATION + + Title: "Add CGI to perldelta.pod and improve its description in MANIFEST" + From: Chip Salzenberg + Files: MANIFEST pod/perldelta.pod + + Title: "Describe probs with majordomo 1.94.1" + From: Chip Salzenberg + Files: pod/perldelta.pod + + Title: "Fix description of /\G/g" + From: Chip Salzenberg + Files: pod/perlop.pod + + Title: "Mention '...' operator in precedence table" + From: Tom Christiansen + Msg-ID: <199704131724.LAA23120@jhereg.perl.com> + Date: Sun, 13 Apr 1997 11:24:16 -0600 + Files: pod/perlop.pod + + +----------------- +Version 5.003_97d +----------------- + +Any minute now... second public beta... no, really... + + CORE LANGUAGE CHANGES + + Title: "Fix for incorrect overloaded assignment" + From: Ilya Zakharevich + Msg-ID: <199704112225.SAA03482@monk.mps.ohio-state.edu> + Date: Fri, 11 Apr 1997 18:25:33 -0400 (EDT) + Files: gv.c + + Title: "Fix C< $x=''; pos($x)=0; $x=~/\G$/ >" + From: Chip Salzenberg + Files: pp_hot.c + + Title: "Fix label on C<for(;;)> statement" + From: Chip Salzenberg + Files: perly.c perly.y + + CORE PORTABILITY + + Title: "update to 5.003_97b/hint/irix_6_2.sh" + From: Scott Henry <scotth@sgi.com> + Msg-ID: <yd8hghdjbk0.fsf@hoshi.engr.sgi.com> + Date: 11 Apr 1997 18:05:03 -0700 + Files: hints/irix_6_2.sh + + OTHER CORE CHANGES + + Title: "Before 'BEGIN not safe', explain why" + From: Chip Salzenberg + Files: op.c + + Title: "New error msg for low-key failure of C<require>" + From: Chip Salzenberg + Files: pod/perldiag.pod pp_ctl.c t/pragma/strict-subs + t/pragma/strict-vars + + Title: "Put "dXSUB_SYS" last in declarations" + From: Chip Salzenberg + Files: win32/perllib.c + + Title: "Minor type cleanup" + From: Chip Salzenberg + Files: proto.h toke.c + + BUILD PROCESS + + (no changes) + + LIBRARY AND EXTENSIONS + + Title: "win32: perl5db patch" + From: Gurusamy Sarathy + Msg-ID: <199704102142.RAA27396@aatma.engin.umich.edu> + Date: Thu, 10 Apr 1997 17:42:13 -0400 + Files: lib/perl5db.pl + + Title: "Enhancements to debugger, Term::ReadLine, Term::Cap" + From: Ilya Zakharevich + Msg-ID: <199704101948.PAA01841@monk.mps.ohio-state.edu> + Date: Thu, 10 Apr 1997 15:48:07 -0400 (EDT) + Files: lib/Term/Cap.pm lib/Term/ReadLine.pm lib/perl5db.pl + + Title: "MM_Unix patch for use under CVS" + From: Ulrich Pfeifer + Msg-ID: <yfmd8s1vhpn.fsf@ls6.informatik.uni-dortmund.de> + Date: 11 Apr 1997 14:59:00 +0200 + Files: lib/ExtUtils/MM_Unix.pm + + Title: "Complex update (five patches)" + From: Jarkko Hietaniemi + Files: lib/Math/Complex.pm t/lib/complex.t + + Title: "Fix undef warning in Math::BigInt" + From: Chip Salzenberg + Files: lib/Math/BigInt.pm + + TESTS + + (no other changes) + + UTILITIES + + Title: "Add B<-o> option to a2p, for old awk; make new the default" + From: Chip Salzenberg + Files: x2p/a2p.h x2p/a2p.pod x2p/a2py.c x2p/walk.c + + DOCUMENTATION + + Title: "typo in lib/diagnostics.pm" + From: barnett@grymoire.crd.ge.com (Bruce Barnett) + Msg-ID: <199704111800.OAA27297@grymoire.crd.ge.com> + Date: Fri, 11 Apr 1997 14:00:54 -0400 + Files: lib/diagnostics.pm + + Title: "Use B<> for options in Class::Struct pod" + From: Hugo van der Sanden <hv@iii.co.uk> + Msg-ID: <334D2E7B.67F0@iii.co.uk> + Date: Thu, 10 Apr 1997 19:16:27 +0100 + Files: lib/Class/Struct.pm + + Title: "Explain //g and \G issues" + From: Gurusamy Sarathy + Msg-ID: <199704122048.QAA25060@aatma.engin.umich.edu> + Date: Sat, 12 Apr 1997 16:48:41 -0400 + Files: pod/perldelta.pod pod/perlop.pod pod/perlre.pod + + Title: "more (err, less) doubled words" + From: Jarkko Hietaniemi + Msg-ID: <199704111931.WAA24460@alpha.hut.fi> + Date: Fri, 11 Apr 1997 22:31:25 +0300 (EET DST) + Files: ext/DB_File/DB_File.pm ext/DynaLoader/DynaLoader.pm + ext/IO/lib/IO/Pipe.pm lib/CGI.pm lib/Exporter.pm + lib/ExtUtils/MakeMaker.pm lib/IPC/Open2.pm lib/IPC/Open3.pm + lib/vars.pm pod/perlcall.pod pod/perldiag.pod + pod/perlfaq1.pod pod/perlfaq3.pod pod/perlfaq5.pod + pod/perlfaq7.pod pod/perlfaq8.pod pod/perlipc.pod + + Title: "Freudian slip error in perlsub.pod" + From: barnett@grymoire.crd.ge.com (Bruce Barnett) + Msg-ID: <199704111755.NAA27200@grymoire.crd.ge.com> + Date: Fri, 11 Apr 1997 13:55:07 -0400 + Files: pod/perlsub.pod + + Title: "Little patch for perl5.003_97c/pod/perlpod.pod" + From: rse@engelschall.com (Ralf S. Engelschall) + Msg-ID: <199704112048.WAA08733@en1.engelschall.com> + Date: Fri, 11 Apr 1997 22:48:37 +0200 + Files: pod/perlpod.pod + + +----------------- +Version 5.003_97c +----------------- + +That second public beta will be Real Soon Now... + + CORE LANGUAGE CHANGES + + Title: "Refine setgroups() behavior of C<$)>" + From: Chip Salzenberg + Files: mg.c pod/perldelta.pod pod/perlvar.pod + + Title: "Forbid -[Mm] on #! line" + From: Chip Salzenberg + Files: pod/perldelta.pod pod/perldiag.pod toke.c + + CORE PORTABILITY + + Title: "Fix dynamic loading (and argv[0]) under AmigaOS" + From: Norbert Pueschel + Msg-ID: <77724842@Armageddon.meb.uni-bonn.de> + Date: Tue, 08 Apr 1997 22:01:45 +0200 + Files: hints/amigaos.sh + + Title: "Special mkdir() for VMS" + From: Charles Bailey + Msg-ID: <01IHGOXN6MZM0004K3@hmivax.humgen.upenn.edu> + Date: Tue, 08 Apr 1997 12:33:56 -0400 (EDT) + Files: dosish.h lib/ExtUtils/MM_Unix.pm lib/File/Path.pm os2/os2ish.h + plan9/plan9ish.h pp_sys.c unixish.h vms/vms.c vms/vmsish.h + + OTHER CORE CHANGES + + Title: "Fix assignment from magic SV that becomes a glob" + From: Chip Salzenberg + Files: sv.c + + BUILD PROCESS + + Title: "Fix syntax error in Configure comment(!)" + From: Chip Salzenberg + Files: Configure + + Title: "For Solaris, if -DDEBUGGING, default to '-KPIC', not '-Kpic'" + From: Chip Salzenberg + Files: Configure + + Title: "Fix usage of dXSUB_SYS, esp. in ExtUtils::Miniperl" + From: Chip Salzenberg + Files: dosish.h minimod.pl os2/os2ish.h plan9/plan9ish.h vms/vmsish.h + + LIBRARY AND EXTENSIONS + + Title: "Replace Class::Template with improved Class::Struct" + From: Jim Miner <jfm@winternet.com> + Files: MANIFEST lib/Class/Struct.pm lib/Class/Template.pm + lib/File/stat.pm lib/Net/hostent.pm lib/Net/netent.pm + lib/Net/protoent.pm lib/Net/servent.pm lib/Time/gmtime.pm + lib/Time/localtime.pm lib/Time/tm.pm lib/User/grent.pm + lib/User/pwent.pm pod/perldelta.pod pod/perlfaq7.pod + pod/perlmod.pod pod/perltoot.pod + + Title: "MakeMaker pathname patch" + From: Nick Ing-Simmons + Msg-ID: <199704091908.UAA00877@ni-s.u-net.com> + Date: Wed, 9 Apr 1997 20:08:23 +0100 + Files: lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm + + Title: "Fix configuration of new socket" + From: Chip Salzenberg + Files: ext/IO/lib/IO/Socket.pm + + Title: "Improve IO::Handle docs; don't export _open_mode_string" + From: Chip Salzenberg + Files: ext/IO/lib/IO/File.pm ext/IO/lib/IO/Handle.pm + + Title: "Complex.pm: 0**0 sanity" + From: Jarkko Hietaniemi + Msg-ID: <199704091804.VAA13930@alpha.hut.fi> + Date: Wed, 9 Apr 1997 21:04:23 +0300 (EET DST) + Files: lib/Math/Complex.pm + + Title: "Fix typos in Math::Trig" + From: Jarkko Hietaniemi + Files: lib/Math/Trig.pm + + TESTS + + Title: "Accommodate CodeBuilder variant of Machten 4.0.3" + From: Dominic Dunlop <domo@slipper.ip.lu> + Msg-ID: <v03020902af704d320f27@[194.51.248.88]> + Date: Tue, 8 Apr 1997 22:15:15 +0200 + Files: t/io/fs.t t/op/stat.t + + UTILITIES + + (no changes) + + DOCUMENTATION + + Title: "IO::Socket doc fix" + From: Roderick Schertler + Msg-ID: <28383.860527843@eeyore.ibcinc.com> + Date: Tue, 08 Apr 1997 15:30:43 -0400 + Files: ext/IO/lib/IO/Socket.pm + + +----------------- +Version 5.003_97b +----------------- + +Working on the second public beta... + + CORE LANGUAGE CHANGES + + Title: "Make assignment to C<$)> call setgroups()" + From: Chip Salzenberg + Files: Configure config_H config_h.SH mg.c plan9/config.plan9 + pod/perldelta.pod vms/config.vms win32/config.H + win32/config.w32 + + Title: "Grandfather "$$<digit>" in strings" + From: Chip Salzenberg + Files: pod/perldiag.pod toke.c + + Title: "Disconnect warn and die hooks _after_ object destruction" + From: Chip Salzenberg + Files: perl.c + + Title: "Forbid recursive substitutions" + From: Chip Salzenberg + Files: cop.h pod/perldelta.pod pod/perldiag.pod pp_ctl.c pp_hot.c + + CORE PORTABILITY + + Title: "Use SSize_t for values of PerlIO_{read,write}" + From: Chip Salzenberg + Files: perlio.c perlio.h perlsdio.h pp_sys.c + + Title: "perlwin-97a_4: win32 environ fix" + From: Gurusamy Sarathy + Msg-ID: <199704060431.XAA23400@aatma.engin.umich.edu> + Date: Sat, 05 Apr 1997 23:31:11 -0500 + Files: win32/win32.c win32/win32io.c win32/win32io.h win32/win32iop.h + + OTHER CORE CHANGES + + Title: "length($') isn't" + From: Gurusamy Sarathy + Msg-ID: <199704070730.DAA07310@aatma.engin.umich.edu> + Date: Mon, 07 Apr 1997 03:30:44 -0400 + Files: mg.c + + Title: "Fix obscure regex bug related to leading C<.*>" + From: Chip Salzenberg + Files: toke.c + + Title: "Add warning for glob failure" + From: Chip Salzenberg + Files: pod/perldelta.pod pod/perldiag.pod pp_hot.c + + Title: "Fix C<perl -V> in presence of local patches" + From: Chip Salzenberg + Files: perl.c + + BUILD PROCESS + + Title: "Don't suggest 'Configure -der' in config.sh comments" + From: Chip Salzenberg + Files: Configure + + LIBRARY AND EXTENSIONS + + Title: "CGI->redirect patch" + From: Doug MacEachern + Msg-ID: <199704051527.KAA11280@postman.osf.org> + Date: Sat, 05 Apr 1997 10:27:52 -0500 + Files: lib/CGI.pm + + Title: "Updates to Math::Complex and Math::Trig" + From: Jarkko Hietaniemi + Files: lib/Math/Complex.pm lib/Math/Trig.pm pod/perldelta.pod + t/lib/complex.t + + Title: "Fix FindBin under Win32, and document success" + From: Nick Ing-Simmons and Gurusamy Sarathy + Msg-ID: <199704051504.QAA09507@ni-s.u-net.com> + Date: Sat, 5 Apr 1997 16:04:52 +0100 + Files: README.win32 lib/Cwd.pm lib/FindBin.pm + + TESTS + + (no other changes) + + UTILITIES + + Title: "Patch for 'perldoc -f'" + From: Gisle Aas + Msg-ID: <199704061732.TAA00353@bergen.sn.no> + Date: Sun, 6 Apr 1997 19:32:04 +0200 + Files: utils/perldoc.PL + + DOCUMENTATION + + Title: "Document required module versions" + From: Chip Salzenberg + Files: pod/perldelta.pod + + Title: "Document sample function perl_eval()" + From: Doug MacEachern + Msg-ID: <199704051524.KAA06090@postman.osf.org> + Date: Sat, 05 Apr 1997 10:24:43 -0500 + Files: pod/perlcall.pod pod/perlembed.pod + + Title: "Make L<perltrap> refer to L<perldelta>" + From: Chip Salzenberg + Files: pod/perltrap.pod + + +----------------- +Version 5.003_97a +----------------- + +This release gets a letter instead of a full subversion because I'm +planning on making 5.003_98 the second public beta. + + CORE LANGUAGE CHANGES + + Title: "Fix AUTOLOAD, or kill me" + From: Chip Salzenberg + Files: gv.c pp.c t/op/method.t + + CORE PORTABILITY + + Title: "Add support for Cygwin32 (GNU-Win32) -- very low impact" + From: John Cerney <j-cerney1@ti.com> + Msg-ID: <199704030821.JAA08762@pluto.tiuk.ti.com> + Date: Thu, 3 Apr 1997 09:21:17 +0100 + Files: MANIFEST README.cygwin32 cygwin32/cw32imp.h cygwin32/gcc2 + cygwin32/ld2 cygwin32/perlgcc cygwin32/perlld + ext/DynaLoader/dl_cygwin32.xs hints/cygwin32.sh perl.h + pp_sys.c + + Title: "Win32 update (six patches)" + From: Gurusamy Sarathy + Files: MANIFEST README.win32 dosish.h t/io/fs.t t/io/tell.t + t/lib/io_tell.t t/op/magic.t t/op/mkdir.t t/op/runlevel.t + t/op/stat.t t/op/taint.t win32/Makefile win32/VC-2.0/pod.mak + win32/makedef.pl win32/pod.mak win32/win32.c win32/win32.h + win32/win32io.c win32/win32io.h win32/win32iop.h + + Title: "AmigaOS update" + From: Norbert Pueschel + Msg-ID: <77724828@Armageddon.meb.uni-bonn.de> + Date: Thu, 03 Apr 1997 16:16:51 +0200 + Files: README.amiga hints/amigaos.sh + + OTHER CORE CHANGES + + Title: "Fix const-sub-related panic on C<sub foo { my $x; 0 } foo>" + From: Chip Salzenberg + Files: op.c + + Title: "Fix warning for useless C<1..2>" + From: Chip Salzenberg + Files: op.c + + Title: "Minor cleanups" + From: Gurusamy Sarathy + Msg-ID: <199704040056.TAA22253@aatma.engin.umich.edu> + Date: Thu, 03 Apr 1997 19:56:57 -0500 + Files: mg.c mg.h perl.c + + Title: "Eliminate unreliable warning with %SIG and strict refs" + From: Chip Salzenberg + Files: mg.c + + Title: "Fix impossible test in vivification" + From: Chip Salzenberg + Files: mg.c + + Title: "runlevel is I32, not int" + From: Roderick Schertler + Msg-ID: <2848.860109823@eeyore.ibcinc.com> + Date: Thu, 03 Apr 1997 18:23:43 -0500 + Files: pp_ctl.c util.c + + BUILD PROCESS + + Title: "Re: shared lib compilation problem with miniperl5.003_97" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970404124326.647K-100000@fractal.lafayette.ed + Date: Fri, 04 Apr 1997 13:02:23 -0500 (EST) + Files: Makefile.SH + + LIBRARY AND EXTENSIONS + + Title: "Math::Trig, based on (and from an author of) Math::Complex" + From: Chip Salzenberg + Files: MANIFEST lib/Math/Complex.pm lib/Math/Trig.pm + pod/perldelta.pod t/lib/complex.t t/lib/trig.t + + Title: "Update AutoLoader and docs; support C<use AutoLoader 'AUTOLOAD'>" + From: Chip Salzenberg and Tim Bunce + Files: lib/AutoLoader.pm + + Title: "CPAN & TRL-Gnu" + From: Achim Bohnet <ach@rosat.mpe-garching.mpg.de> + Msg-ID: <9704040809.AA26143@o09.rosat.mpe-garching.mpg.de> + Date: Fri, 04 Apr 1997 10:09:03 +0200 + Files: lib/CPAN.pm + + Title: "Limit @ISA to actual DBM in AnyDBM" + From: Chip Salzenberg + Files: lib/AnyDBM_File.pm + + Title: "Don't use $4 when it might be undef" + From: Chip Salzenberg + Files: lib/bigfloat.pl + + TESTS + + Title: "Make *dbm tests work with Win32" + From: Chip Salzenberg + Files: t/lib/anydbm.t t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t + t/lib/sdbm.t + + UTILITIES + + (no changes) + + DOCUMENTATION + + Title: "Update INSTALL" + From: Andy Dougherty + Files: INSTALL + + Title: "Pod style" + From: Nathan Torkington <gnat@prometheus.frii.com> + Files: pod/perlcall.pod pod/perldata.pod pod/perldebug.pod + pod/perldiag.pod pod/perlform.pod pod/perlfunc.pod + pod/perlipc.pod pod/perllocale.pod pod/perlmod.pod + pod/perlop.pod pod/perlre.pod pod/perlrun.pod + pod/perlstyle.pod pod/perltoc.pod pod/perlvar.pod + + +---------------- +Version 5.003_97 +---------------- + + CORE LANGUAGE CHANGES + + Title: "Reenable but deprecate inherited AUTOLOAD for plain funcs" + From: Chip Salzenberg + Files: ext/DynaLoader/DynaLoader.pm gv.c lib/Text/ParseWords.pm + pod/perldelta.pod pod/perldiag.pod t/op/method.t + + CORE PORTABILITY + + Title: "Don't use setjmp() and longjmp() in complex exprs" + From: Chip Salzenberg + Files: perl.c pp_ctl.c scope.h + + Title: "Improve definition of Sock_size_t" + From: Chip Salzenberg + Files: doio.c pp_sys.c + + Title: "Don't use a completely empty macro parameter" + From: Chip Salzenberg + Files: sv.h + + Title: "Win32 update" + From: Gurusamy Sarathy + Msg-ID: <199704020608.BAA29538@aatma.engin.umich.edu> + Date: Wed, 02 Apr 1997 01:08:09 -0500 + Files: win32/VC-2.0/modules.mak win32/VC-2.0/perl.mak win32/VC- + 2.0/perldll.mak win32/perl.mak + + OTHER CORE CHANGES + + Title: "Introduce and use gv_fetchmethod_autoload()" + From: Chip Salzenberg + Files: global.sym gv.c pod/perlguts.pod proto.h universal.c + + Title: "Reduce memory footprint of literal strings" + From: ilya@math.ohio-state.edu (Ilya Zakharevich) + Msg-ID: <1997Apr1.113438.1913905@hmivax.humgen.upenn.edu> + Date: Tue, 01 Apr 1997 11:34:37 -0500 (EST) + Files: toke.c + + BUILD PROCESS + + Title: "Remove target before link() of perldiag.pod" + From: Chip Salzenberg + Files: installperl + + LIBRARY AND EXTENSIONS + + Title: "Refresh CPAN to 1.24" + From: Andreas Koenig + Files: lib/CPAN.pm lib/CPAN/FirstTime.pm + + Title: "Refresh ExtUtils::Manifest to 1.33" + From: Andreas Koenig + Files: lib/ExtUtils/Manifest.pm + + Title: "Update $VERSION of ExtUtils::Embed to reflect reality" + From: Chip Salzenberg + Files: lib/ExtUtils/Embed.pm + + Title: "Fix POSIX::raise()" + From: "Jens T. Berger Thielemann" <jensthi@ifi.uio.no> + Msg-ID: <Pine.SUN.3.91.970401153125.8053A-100000@holmenkollen.ifi.uio + Date: Tue, 1 Apr 1997 15:34:47 +0200 (MET DST) + Files: ext/POSIX/POSIX.pm + + Title: "Eliminate warnings in File::Basename" + From: Robin Barker <rmb1@cise.npl.co.uk> + Msg-ID: <11173.9704011111@tempest.cise.npl.co.uk> + Date: Tue, 1 Apr 97 12:11:43 BST + Files: lib/File/Basename.pm t/lib/basename.t + + Title: "Eliminate warning in CGI.pm" + From: Chip Salzenberg + Files: lib/CGI.pm + + Title: "Tweaks to constant.pm" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.96.970331205519.16684I-100000@kelly.teleport.com> + Date: Mon, 31 Mar 1997 21:10:14 -0800 (PST) + Files: lib/constant.pm + + Title: "Document eval vs. sub in Benchmark" + From: Hugo van der Sanden <hv@crypt.compulink.co.uk> + Msg-ID: <199704012231.XAA00225@crypt.compulink.co.uk> + Date: Tue, 01 Apr 1997 23:31:55 +0100 + Files: lib/Benchmark.pm + + TESTS + + (no other changes) + + UTILITIES + + Title: "Improve heuristics for pod2man titles" + From: Roderick Schertler + Msg-ID: <pzn2ri9gto.fsf@eeyore.ibcinc.com> + Date: 01 Apr 1997 23:41:55 -0500 + Files: pod/pod2man.PL + + DOCUMENTATION + + Title: "Clean up some poddities, and make C<make html> work again" + From: Chip Salzenberg + Files: pod/Makefile pod/perldelta.pod pod/perldiag.pod + pod/perlfaq8.pod pod/perlfunc.pod pod/perlop.pod + pod/perltrap.pod + + Title: "Fix MM doc's use of "SUPER::"" + From: avera@hal.com (Jim Avera) + Msg-ID: <9704012235.AA07841@membrane.hal.com> + Date: Tue, 1 Apr 1997 14:35:26 -0800 (PST) + Files: lib/ExtUtils/MakeMaker.pm + + Title: "Eliminate pod warnings in libs" + From: Chip Salzenberg + Files: lib/CGI.pm lib/ExtUtils/Command.pm + + +---------------- +Version 5.003_96 +---------------- + + CORE LANGUAGE CHANGES + + Title: "Support $ENV{PERL5OPT}" + From: Chip Salzenberg + Files: perl.c pod/perldiag.pod pod/perldelta.pod pod/perlrun.pod + + Title: "Implement void context, in which C<wantarray> is undef" + From: Chip Salzenberg + Files: cop.h doop.c dump.c global.sym gv.c op.c op.h perl.c + pod/perlcall.pod pod/perldelta.pod pod/perlfunc.pod + pod/perlguts.pod pod/perlsub.pod pp.c pp_ctl.c pp_hot.c + pp_sys.c proto.h + + Title: "Don't look up &AUTOLOAD in @ISA when calling plain function" + From: Chip Salzenberg + Files: global.sym gv.c lib/Text/ParseWords.pm pod/perldelta.pod + pp_hot.c proto.h t/op/method.t + + Title: "Allow closures to be constant subroutines" + From: Chip Salzenberg + Files: op.c + + Title: "Make C<scalar(reverse)> mean C<scalar(reverse $_)>" + From: Chip Salzenberg + Files: pp.c + + Title: "Fix lexical suicide from C<my $x = $x> in sub" + From: Chip Salzenberg + Files: op.c + + Title: "Make "Unrecog. char." fatal, and update its doc" + From: Chip Salzenberg + Files: pod/perldiag.pod toke.c + + Title: "Die on patterns that will match empty string forever" + From: Stephen Potter <spp@psa.pencom.com> + Msg-ID: <199703282138.PAA28311@psa.pencom.com> + Date: Fri, 28 Mar 1997 15:38:30 -0600 + Files: regcomp.c + + CORE PORTABILITY + + Title: "safefree() mismatch" + From: Roderick Schertler + Msg-ID: <21338.859653381@eeyore.ibcinc.com> + Date: Sat, 29 Mar 1997 11:36:21 -0500 + Files: util.c + + Title: "FreeBSD update" + From: Slaven Rezic <eserte@cs.tu-berlin.de> + Msg-ID: <199703311417.QAA04162@cabulja.herceg.de> + Date: Mon, 31 Mar 1997 16:17:42 +0200 (MET DST) + Files: hints/freebsd.sh + + Title: "Win32 update (seven patches)" + From: Gurusamy Sarathy and Nick Ing-Simmons + Files: EXTERN.h MANIFEST win32/Makefile win32/perl.mak + win32/perl.rc win32/perldll.mak win32/makedef.pl + win32/modules.mak win32/win32io.c win32/bin/pl2bat.bat + + OTHER CORE CHANGES + + Title: "Report PERL* environment variables in -V and perlbug" + From: Chip Salzenberg + Files: perl.c utils/perlbug.PL + + Title: "Typo in perl.c: Printing NO_EMBED for perl -V" + From: Gisle Aas + Msg-ID: <199703301922.VAA13509@furubotn.sn.no> + Date: Sun, 30 Mar 1997 21:22:11 +0200 + Files: perl.c + + Title: "Don't let C<$var = $var> untaint $var" + From: Chip Salzenberg + Files: pp_hot.c pp_sys.c sv.h t/op/taint.t + + Title: "Fix autoviv bug in C<my $x; ++$x->{KEY}>" + From: Chip Salzenberg + Files: pp_hot.c + + Title: "Re: 5.004's new srand() default seed" + From: Hallvard B Furuseth + Msg-ID: <199703302219.AAA20998@bombur2.uio.no> + Date: Mon, 31 Mar 1997 00:19:13 +0200 (MET DST) + Files: pp.c + + Title: "Re: embedded perl and top_env problem " + From: Gurusamy Sarathy + Msg-ID: <199703280031.TAA05711@aatma.engin.umich.edu> + Date: Thu, 27 Mar 1997 19:31:42 -0500 + Files: gv.c interp.sym perl.c perl.h pp_ctl.c pp_sys.c scope.h util.c + + Title: "Define and use new macro: boolSV()" + From: Tim Bunce + Files: gv.c lib/ExtUtils/typemap os2/os2.c pp.c pp_hot.c pp_sys.c + sv.c sv.h universal.c vms/vms.c + + Title: "Re: strict @F" + From: Hallvard B Furuseth + Msg-ID: <199703252110.WAA16038@bombur2.uio.no> + Date: Tue, 25 Mar 1997 22:10:33 +0100 (MET) + Files: toke.c + + Title: "Try harder to identify errors at EOF" + From: Chip Salzenberg + Files: toke.c + + Title: "Minor string change in toke.c: 'bareword'" + From: lvirden@cas.org + Msg-ID: <1997Mar27.130247.1911552@hmivax.humgen.upenn.edu> + Date: Thu, 27 Mar 1997 13:02:46 -0500 (EST) + Files: toke.c + + Title: "Improve diagnostic on \r in program text" + From: Chip Salzenberg + Files: pod/perldiag.pod toke.c + + Title: "Make Sock_size_t typedef work right" + From: Chip Salzenberg + Files: perl.h pp_sys.c + + Title: "Eliminate unused dummy variable" + From: Doug MacEachern + Msg-ID: <199703270123.UAA25454@postman.osf.org> + Date: Wed, 26 Mar 1997 20:23:14 -0500 + Files: lib/ExtUtils/Embed.pm unixish.h writemain.SH + + BUILD PROCESS + + Title: "Allow for coexistence of various versions of perldiag.pod" + From: Chip Salzenberg + Files: installperl lib/diagnostics.pm + + LIBRARY AND EXTENSIONS + + Title: "New module constant.pm" + From: Tom Phoenix + Files: MANIFEST lib/constant.pm op.c pp.c t/pragma/constant.t + + Title: "Remove chat2" + From: Chip Salzenberg + Files: MANIFEST lib/chat2.inter lib/chat2.pl + + Title: "Include CGI.pm 2.32" + From: Chip Salzenberg + Files: MANIFEST eg/cgi/* lib/CGI.pm lib/CGI/Apache.pm + lib/CGI/Carp.pm lib/CGI/Fast.pm lib/CGI/Push.pm + lib/CGI/Switch.pm + + Title: "Fix C<print $_> in debugger" + From: Ilya Zakharevich + Msg-ID: <199703312355.SAA01068@monk.mps.ohio-state.edu> + Date: Mon, 31 Mar 1997 18:55:55 -0500 (EST) + Files: lib/perl5db.pl + + Title: "Re: Pod problems & fixes" + From: Hallvard B Furuseth + Msg-ID: <199703261829.TAA17015@bombur2.uio.no> + Date: Wed, 26 Mar 1997 19:29:14 +0100 (MET) + Files: lib/Pod/Text.pm + + Title: "Re: $whoami calculation in Sys::Syslog.pm should not be greedy" + From: Roderick Schertler + Msg-ID: <pz4tdu7j57.fsf@eeyore.ibcinc.com> + Date: 29 Mar 1997 11:33:24 -0500 + Files: lib/Sys/Syslog.pm + + Title: "C<new SelectSaver $fh> doesn't always restore" + From: Spider Boardman + Msg-ID: <199703291906.OAA07232@Orb.Nashua.NH.US> + Date: Sat, 29 Mar 1997 14:06:37 -0500 + Files: lib/SelectSaver.pm + + Title: "Patch for Benchmark.pm" + From: Hugo van der Sanden <hv@crypt.compulink.co.uk> w/Tim Bunce + Msg-ID: <199703291504.PAA01596@crypt.compulink.co.uk> + Date: Sat, 29 Mar 1997 15:04:32 +0000 + Files: lib/Benchmark.pm + + Title: "Tiny doc fix for AutoSplit.pm" + From: "Randy J. Ray" <rjray@uswest.com> + Msg-ID: <rjray-9702272117.AA001223633@snakepit.ecte.uswc.uswest.com> + Date: Thu, 27 Mar 1997 14:17:38 -0700 + Files: lib/AutoSplit.pm + + TESTS + + (no other changes) + + UTILITIES + + Title: "Tom C's Pod::Html and html tools, as of 30 March 97" + From: Chip Salzenberg + Files: MANIFEST installhtml lib/Pod/Html.pm pod/pod2html.PL + + Title: "Fix path bugs in installhtml" + From: Robin Barker <rmb1@cise.npl.co.uk> + Msg-ID: <3180.9703270906@tempest.cise.npl.co.uk> + Date: Thu, 27 Mar 97 09:06:14 GMT + Files: installhtml + + Title: "Make perlbug say that it's only for core Perl bugs" + From: Chip Salzenberg + Files: utils/perlbug.PL + + DOCUMENTATION + + Title: "INSTALL-1.11" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970326140905.10178A-100000@fractal.lafayette. + Date: Wed, 26 Mar 1997 14:27:52 -0500 (EST) + Files: INSTALL + + Title: "Patch for perl.pod" + From: wmiddlet@Adobe.COM (William Middleton) + Msg-ID: <199703262305.PAA13121@ducks> + Date: Wed, 26 Mar 1997 15:05:39 -0800 (PST) + Files: pod/perl.pod + + Title: "Document autouse and constant; update diagnostics" + From: Chip Salzenberg + Files: pod/perldelta.pod + + Title: "Suggest to upgraders that they try '-w' again" + From: Hallvard B Furuseth + Msg-ID: <199703251901.UAA15982@bombur2.uio.no> + Date: Tue, 25 Mar 1997 20:01:26 +0100 (MET) + Files: pod/perldelta.pod + + Title: "Improve and update documentation of constant subs" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.96.970331122546.14185C-100000@kelly.teleport.com> + Date: Mon, 31 Mar 1997 13:05:54 -0800 (PST) + Files: pod/perlsub.pod + + Title: "Improve documentation of C<return>" + From: Chip Salzenberg + Files: pod/perlfunc.pod pod/perlsub.pod + + Title: "perlfunc.pod patch" + From: Gisle Aas + Msg-ID: <199703262159.WAA17531@furubotn.sn.no> + Date: Wed, 26 Mar 1997 22:59:23 +0100 + Files: pod/perlfunc.pod + + Title: "Use 'while (defined($x = <>)) {}', per <gnat@frii.com>" + From: Chip Salzenberg + Files: configpm lib/Term/Cap.pm perlsh pod/perlipc.pod pod/perlop.pod + pod/perlsub.pod pod/perlsyn.pod pod/perltrap.pod + pod/perlvar.pod win32/bin/search.bat + + Title: "Document and test C<%> behavior with negative operands" + From: Chip Salzenberg + Files: pod/perlop.pod t/op/arith.t + + Title: "Update docs on $]" + From: Chip Salzenberg + Files: pod/perlvar.pod + + Title: "perlvar.pod patch" + From: Gisle Aas + Msg-ID: <199703261254.NAA10237@bergen.sn.no> + Date: Wed, 26 Mar 1997 13:54:00 +0100 + Files: pod/perlvar.pod + + Title: "Fix example of C<or> vs. C<||>" + From: Chip Salzenberg + Files: pod/perlsyn.pod + + Title: "Pod usage and spelling patch" + From: Larry W. Virden + Files: pod/*.pod + + Title: "Pod updates" + From: "Cary D. Renzema" <caryr@mxim.com> + Msg-ID: <199703262353.PAA01819@macs.mxim.com> + Date: Wed, 26 Mar 1997 15:53:22 -0800 (PST) + Files: pod/*.pod + + +---------------- +Version 5.003_95 +---------------- + + CORE LANGUAGE CHANGES + + Title: "Don't compile scalar mods of aggregates, like C<@a =~ s/a/b/>" + From: Chip Salzenberg + Files: op.c t/op/misc.t + + Title: "Automatically flush on C< $| = 1 >" + From: Chip Salzenberg + Files: mg.c + + Title: "Refine modulus ("%") per suggestion of Tim Goodwin" + From: Chip Salzenberg + Files: pp.c + + Title: "If C<perl -a>, do equivalent of C<use vars '@F'>" + From: Chip Salzenberg + Files: toke.c + + Title: "Warn about undef magic values just like non-magic" + From: Chip Salzenberg + Files: ext/Opcode/Safe.pm sv.c t/lib/db-btree.t t/lib/db-hash.t + t/lib/db-recno.t t/pragma/locale.t + + CORE PORTABILITY + + Title: "Remove redundant patch to hints/bsdos.sh" + From: Shigeya Suzuki <shigeya@foretune.co.jp> + Msg-ID: <19970322222244K.shigeya@foretune.co.jp> + Date: Sat, 22 Mar 1997 22:22:44 +0900 + Files: hints/bsdos.sh + + Title: "Another MachTen Patch" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.96.970324152150.20610P-100000@kelly.teleport.com> + Date: Mon, 24 Mar 1997 15:26:48 -0800 (PST) + Files: hints/machten_2.sh + + Title: "Win32 update (five patches)" + From: Gurusamy Sarathy and Nick Ing-Simmons + Files: MANIFEST README.win32 doio.c dosish.h pp_sys.c + lib/ExtUtils/Command.pm t/comp/multiline.t t/op/magic.t + t/op/mkdir.t t/op/runlevel.t t/op/stat.t t/op/write.t + win32/Makefile win32/config.H win32/config.w32 win32/win32.c + win32/win32.h win32/win32aux.c win32/*.mak win32/VC-2.0/*.mak + + OTHER CORE CHANGES + + Title: "Fix botch with G_NOARGS; PUSHMARK *is* required" + From: Chip Salzenberg + Files: perl.c + + Title: "Improve 'prototype mismatch' warning" + From: Chip Salzenberg + Files: global.sym op.c pod/perldiag.pod proto.h sv.c t/comp/redef.t + + Title: "In perlio, fix vprintf() definition and define vfprintf()" + From: Chip Salzenberg + Files: perlio.c + + BUILD PROCESS + + (no other changes) + + LIBRARY AND EXTENSIONS + + Title: "Fix C<require> in Getopt::Long to work with 5.003" + From: Chip Salzenberg + Files: lib/Getopt/Long.pm + + Title: "Extraneous blank lines from Pod::Text" + From: Russ Allbery <rra@stanford.edu> + Msg-ID: <qumend4qq08.fsf@cyclone.stanford.edu> + Date: 25 Mar 1997 01:28:55 -0800 + Files: lib/Pod/Text.pm + + Title: "Exporting UNIVERSAL::can" + From: "M.J.T. Guy" + Msg-ID: <E0w9DwX-0000Zr-00@taurus.cus.cam.ac.uk> + Date: Mon, 24 Mar 1997 17:54:01 +0000 + Files: lib/UNIVERSAL.pm + + Title: "Term::Readline patch for AmigaOS" + From: Norbert Pueschel + Msg-ID: <77724797@Armageddon.meb.uni-bonn.de> + Date: Sun, 23 Mar 1997 18:57:22 +0100 + Files: lib/Term/ReadLine.pm + + TESTS + + Title: "Reduce memory footprint of complex.t" + From: Dominic Dunlop <domo@slipper.ip.lu> + Msg-ID: <v03020902af5d8e03c5ab@[194.51.248.84]> + Date: Tue, 25 Mar 1997 15:39:26 +0100 + Files: t/lib/complex.t + + UTILITIES + + Title: "Improve pod2man diagnostic when NAME is invalid" + From: Chip Salzenberg + Files: pod/pod2man.PL + + DOCUMENTATION + + Title: "INSTALL-1.8 to INSTALL-1.9 updates" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970325135138.3374A-100000@fractal.lafayette.e + Date: Tue, 25 Mar 1997 13:52:53 -0500 (EST) + Files: INSTALL + + Title: "Document possible problems with -Mdiagnostics after upgrade" + From: Chip Salzenberg + Files: INSTALL + + Title: "Mention perldelta in INSTALL" + From: Chip Salzenberg + Files: INSTALL + + Title: "Describe pod format at top of INSTALL" + From: Chip Salzenberg + Files: INSTALL + + Title: "Document C</a *b/x> fix" + From: Chip Salzenberg + Files: pod/perldelta.pod + + Title: "pods for subroutine argument autovivication" + From: "M.J.T. Guy" + Msg-ID: <E0w9489-0005YT-00@ursa.cus.cam.ac.uk> + Date: Mon, 24 Mar 1997 07:25:21 +0000 + Files: pod/perldelta.pod pod/perlsub.pod + + Title: "Missing item in perldiag" + From: "M.J.T. Guy" + Msg-ID: <E0w8jVZ-0005va-00@ursa.cus.cam.ac.uk> + Date: Sun, 23 Mar 1997 09:24:09 +0000 + Files: pod/perldiag.pod + + Title: "Mention and discourage use of term 'soft reference'" + From: Chip Salzenberg + Files: pod/perlref.pod + + Title: "Pod problems & fixes" + From: Hallvard B Furuseth + Msg-ID: <199703242031.VAA14997@bombur2.uio.no> + Date: Mon, 24 Mar 1997 21:31:51 +0100 (MET) + Files: INSTALL lib/Term/Complete.pm lib/subs.pm pod/perlcall.pod + pod/perldata.pod pod/perldiag.pod pod/perlembed.pod + pod/perlguts.pod pod/perlmod.pod pod/perlop.pod + pod/perlpod.pod pod/pod2html.PL + + Title: "DB_File documentation fix" + From: Paul Marquess + Msg-ID: <9703240854.AA08401@claudius.bfsec.bt.co.uk> + Date: Mon, 24 Mar 97 08:54:16 GMT + Files: ext/DB_File/DB_File.pm + + Title: "FAQ update" + From: Nathan Torkington <gnat@prometheus.frii.com> + Files: pod/perlfaq*.pod + + +---------------- +Version 5.003_94 +---------------- + + CORE LANGUAGE CHANGES + + Title: "Defer creation of array and hash elements as parameters" + From: Chip Salzenberg + Files: dump.c global.sym mg.c op.c op.h perl.h pp.c pp_hot.c proto.h + sv.c + + Title: "New special literal: __PACKAGE__" + From: Chip Salzenberg + Files: keywords.pl pod/perldata.pod toke.c + + Title: "Ignore whitespace before +*? in //x" + From: Chip Salzenberg + Files: regcomp.c + + Title: "Abort compilation at C<BEGIN{}> or C<use> after errors" + From: Chip Salzenberg + Files: op.c pod/perldiag.pod t/pragma/subs.t + + Title: "allow C<substr 'hello', -10>" + From: David Dyck <dcd@tc.fluke.com> + Msg-ID: <97Mar10.155517pst.35716-2@gateway.fluke.com> + Date: Mon, 10 Mar 1997 15:55:44 -0800 + Files: pp.c + + Title: "Regularize C<x % y>, esp. when y is negative" + From: Chip Salzenberg + Files: pp.c + + Title: "Flush before C<flock(FOO, LOCK_UN)>" + From: Chip Salzenberg + Files: pod/perldelta.pod pod/perlfunc.pod pp_sys.c + + Title: "Close loopholes in prototype mismatch warning" + From: Chip Salzenberg + Files: op.c sv.c toke.c + + Title: "Warn on C<while ($x = each %y) {}>" + From: Chip Salzenberg + Files: op.c pod/perldiag.pod + + Title: "Don't warn on C<print $fh func()>" + From: Chip Salzenberg + Files: toke.c + + CORE PORTABILITY + + Title: "Don't say 'static var = 1'" + From: Jarkko Hietaniemi + Msg-ID: <199703091319.PAA24714@alpha.hut.fi> + Date: Sun, 9 Mar 1997 15:19:57 +0200 (EET) + Files: malloc.c + + Title: "BSD/OS 3.0 hints" + From: Christopher Davis <ckd@loiosh.kei.com> + Msg-ID: <w47mjakw5t.fsf@loiosh.kei.com> + Date: 14 Mar 1997 16:20:46 -0500 + Files: hints/bsdos.sh + + Title: "More MachTen hints" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.95q.970316133852.27997A-100000@kelly.teleport.com + Date: Sun, 16 Mar 1997 13:40:35 -0800 (PST) + Files: hints/machten_2.sh + + Title: "HP/UX hint comments" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970321153918.28770B-100000@fractal.lafayette. + Date: Fri, 21 Mar 1997 15:43:07 -0500 (EST) + Files: hints/hpux.sh + + Title: "VMS update" + From: Charles Bailey + Msg-ID: <1997Mar11.220056.1873182@hmivax.humgen.upenn.edu> + Date: Tue, 11 Mar 1997 22:00:55 -0500 (EST) + Files: lib/ExtUtils/MM_VMS.pm lib/Test/Harness.pm t/op/taint.t + utils/perlbug.PL vms/descrip.mms + + Title: "vmsish.t and related patches" + From: Charles Bailey + Msg-ID: <01IGQW3IP1KK005VFB@hmivax.humgen.upenn.edu> + Date: Fri, 21 Mar 1997 01:32:47 -0500 (EST) + Files: MANIFEST perl.h vms/descrip.mms vms/ext/vmsish.t vms/vms.c + + Title: "Win32 update (four patches)" + From: Gurusamy Sarathy and Nick Ing-Simmons + Files: MANIFEST README.win32 lib/AutoSplit.pm lib/Cwd.pm + lib/ExtUtils/Command.pm lib/ExtUtils/Install.pm + lib/ExtUtils/MM_OS2.pm lib/ExtUtils/MM_Unix.pm + lib/ExtUtils/MM_Win32.pm lib/ExtUtils/MakeMaker.pm + lib/ExtUtils/Mksymlists.pm lib/File/Basename.pm + lib/File/Path.pm mg.c t/comp/cpp.t t/comp/script.t t/harness + t/io/argv.t t/io/dup.t t/io/fs.t t/io/inplace.t + t/lib/filehand.t t/lib/io_dup.t t/lib/io_sel.t + t/lib/io_taint.t t/op/closure.t t/op/exec.t t/op/glob.t + t/op/goto.t t/op/magic.t t/op/misc.t t/op/rand.t + t/op/split.t t/op/stat.t t/op/sysio.t t/op/taint.t + t/pragma/strict.t t/pragma/subs.t t/pragma/warning.t util.c + win32/* + + OTHER CORE CHANGES + + Title: "Guard against buffer overflow in yyerror() and related funcs" + From: Chip Salzenberg + Files: toke.c + + Title: "For bin compat, rename calllist() and he_{,delay}free" + From: Chip Salzenberg + Files: global.sym hv.c op.c perl.c pod/perlguts.pod proto.h + + Title: "Fix C<print> on tied default handle" + From: Chip Salzenberg + Files: pp_hot.c + + Title: "Fix C<local($a, undef, $b) = (1,2,3)>" + From: Chip Salzenberg + Files: op.c + + Title: "Improve diagnostic on C<@a++>, C<--%a>, @a =~ s/a/b/" + From: Chip Salzenberg + Files: pp.c pp_hot.c + + Title: "Don't warn on C<$x{y} .= "z"> when %x is tied" + From: Chip Salzenberg + Files: pp_hot.c + + Title: "Eliminate 'unreachable code' warnings" + From: Chip Salzenberg + Files: ext/POSIX/POSIX.xs mg.c pp_ctl.c toke.c + + Title: "printf format corrections for -DDEBUGGING" + From: Roderick Schertler + Msg-ID: <26592.858793370@eeyore.ibcinc.com> + Date: Wed, 19 Mar 1997 12:42:50 -0500 + Files: doop.c malloc.c op.c pp_ctl.c regexec.c sv.c x2p/str.c + x2p/util.c + + Title: "Warn about missing -DMULTIPLICITY if likely a problem" + From: Doug MacEachern + Msg-ID: <199703192345.SAA15070@postman.osf.org> + Date: Wed, 19 Mar 1997 18:45:53 -0500 + Files: perl.c + + BUILD PROCESS + + Title: "Don't use $(LIBS) when creating shared libperl" + From: Chip Salzenberg + Files: Makefile.SH + + Title: "Don't use db 2.x, we're not yet ready for it" + From: Paul Marquess and Andy Dougherty + Files: Configure + + Title: "Warn if #! command is longer than 32 chars" + From: Chip Salzenberg + Files: Configure + + Title: "patches re perl -wc install{perl,man}" + From: Robin Barker <rmb1@cise.npl.co.uk> + Msg-ID: <21544.9703111313@tempest.cise.npl.co.uk> + Date: Tue, 11 Mar 97 13:13:16 GMT + Files: installman installperl + + Title: "3_93 doesn't install pods" + From: Spider Boardman + Msg-ID: <199703160721.CAA08339@Orb.Nashua.NH.US> + Date: Sun, 16 Mar 1997 02:21:35 -0500 + Files: installperl + + Title: "When installing, use File::Copy instead of `cp`" + From: Chip Salzenberg + Files: installperl + + Title: "Make hint files' warnings more visible" + From: Hallvard B Furuseth + Msg-ID: <199703202218.XAA09041@bombur2.uio.no> + Date: Thu, 20 Mar 1997 23:18:03 +0100 (MET) + Files: hints/3b1.sh hints/apollo.sh hints/cxux.sh hints/dcosx.sh + hints/dgux.sh hints/esix4.sh hints/freebsd.sh hints/hpux.sh + hints/irix_4.sh hints/mips.sh hints/next_3_0.sh hints/os2.sh + hints/qnx.sh hints/sco_2_3_3.sh hints/sco_2_3_4.sh + hints/solaris_2.sh hints/ultrix_4.sh hints/utekv.sh + + LIBRARY AND EXTENSIONS + + Title: "New module: autouse.pm" + From: Ilya Zakharevich + Msg-ID: <199703210034.TAA13469@monk.mps.ohio-state.edu> + Date: Thu, 20 Mar 1997 19:34:30 -0500 (EST) + Files: MANIFEST lib/autouse.pm + + Title: "Math::Complex update" + From: Jarkko Hietaniemi + Files: lib/Math/Complex.pm t/lib/complex.t + + Title: "Refresh DB_File to 1.12" + From: Paul Marquess + Msg-ID: <9703121551.AA07435@claudius.bfsec.bt.co.uk> + Date: Wed, 12 Mar 97 15:51:14 GMT + Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs + + Title: "New subroutine Symbol::qualify_to_ref()" + From: Roderick Schertler + Msg-ID: <pzlo7ut03b.fsf@eeyore.ibcinc.com> + Date: 11 Mar 1997 19:39:36 -0500 + Files: lib/Symbol.pm + + Title: "In debugger, don't reference %{$f{$g}} if $f{$g} doesn't exist" + From: Chip Salzenberg + Files: lib/perl5db.pl + + Title: "In File::Path, some systems can't remove read-only files" + From: Chip Salzenberg + Files: lib/File/Path.pm + + Title: "Fix typo in -l*perl* pattern" + From: Doug MacEachern + Msg-ID: <199703110414.XAA12884@berlin.atlantic.net> + Date: Mon, 10 Mar 1997 22:58:38 -0500 + Files: lib/ExtUtils/Embed.pm + + Title: "Fix bugs revealed by prototype warnings" + From: Chip Salzenberg + Files: ext/Opcode/Opcode.pm lib/ExtUtils/MakeMaker.pm + lib/Getopt/Long.pm + + Title: "Problems with SKIP in makemaker" + From: Ilya Zakharevich + Msg-ID: <199703210413.XAA21601@monk.mps.ohio-state.edu> + Date: Thu, 20 Mar 1997 23:13:31 -0500 (EST) + Files: lib/ExtUtils/MM_Unix.pm + + Title: "In Exporter, don't C<require Carp> at file scope" + From: Chip Salzenberg + Files: lib/Exporter.pm + + Title: "fix for Exporter's $SIG{__WARN__} handler" + From: Roderick Schertler + Msg-ID: <2282.858296451@eeyore.ibcinc.com> + Date: Thu, 13 Mar 1997 18:40:51 -0500 + Files: lib/Exporter.pm + + Title: "Don't try to substr() refs in Carp" + From: Chip Salzenberg + Files: lib/Carp.pm + + Title: "Re: NUL in die and other messages" + From: "M.J.T. Guy" + Msg-ID: <E0w815V-0005xs-00@ursa.cus.cam.ac.uk> + Date: Fri, 21 Mar 1997 09:58:17 +0000 + Files: lib/Carp.pm + + Title: "Add entry for prototype() in Pod::Functions" + From: Chip Salzenberg + Files: lib/Pod/Functions.pm + + Title: "Fix typos in IO::Socket documentation" + From: "M.J.T. Guy" + Msg-ID: <E0w75po-0003yh-00@taurus.cus.cam.ac.uk> + Date: Tue, 18 Mar 1997 20:50:16 +0000 + Files: ext/IO/lib/IO/Socket.pm + + TESTS + + (no other changes) + + UTILITIES + + Title: "Re: bug in pod2man (5.00326): section=3 for .pm modules" + From: Roderick Schertler + Msg-ID: <pzn2sat1hg.fsf@eeyore.ibcinc.com> + Date: 11 Mar 1997 19:09:31 -0500 + Files: pod/pod2man.PL + + DOCUMENTATION + + Title: "perlfaq.pod" + From: Tom Christiansen + Msg-ID: <199703172301.QAA12566@jhereg.perl.com> + Date: Mon, 17 Mar 1997 16:01:40 -0700 + Files: MANIFEST pod/Makefile pod/buildtoc pod/perl.pod + pod/perlfaq*.pod pod/roffitall + + Title: "*.pod changes based on the FAQ" + From: gnat@frii.com + Msg-ID: <199703171650.JAA02655@elara.frii.com> + Date: Mon, 17 Mar 1997 09:50:14 -0700 (MST) + Files: pod/perldata.pod pod/perlfunc.pod pod/perlipc.pod + pod/perlop.pod pod/perlre.pod pod/perlrun.pod + pod/perlsec.pod pod/perlvar.pod + + Title: "INSTALL: How to enable debugging" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970321112326.1414A-100000@fractal.lafayette.e + Date: Fri, 21 Mar 1997 11:25:32 -0500 (EST) + Files: INSTALL + + Title: "Document that $. is not reset on implicit open" + From: Chip Salzenberg + Files: pod/perldelta.pod + + Title: "Re: Embedding success with _93 " + From: Doug MacEachern + Msg-ID: <199703112255.RAA22775@postman.osf.org> + Date: Tue, 11 Mar 1997 17:55:05 -0500 + Files: pod/perldelta.pod + + Title: "Update site list" + From: lvirden@cas.org (Larry W. Virden, x2487) + Msg-ID: <9703111053.AA20051@cas.org> + Date: Tue, 11 Mar 1997 10:53:49 -0500 + Files: pod/perlmod.pod + + Title: "Patch to document illegal characters" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.96.970314090558.15346J-100000@kelly.teleport.com> + Date: Fri, 14 Mar 1997 09:08:10 -0800 (PST) + Files: pod/perldiag.pod pod/perltrap.pod + + Title: "Document trap with //o and closures" + From: Charles Bailey + Msg-ID: <01IGCHWRNSEU00661G@hmivax.humgen.upenn.edu> + Date: Mon, 10 Mar 1997 18:08:08 -0500 (EST) + Files: pod/perltrap.pod + + Title: "Re: Inline PI function" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.95q.970310143125.22489V-100000@kelly.teleport.com + Date: Mon, 10 Mar 1997 14:33:20 -0800 (PST) + Files: pod/perlsub.pod + + Title: "Illegal character in input" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.95q.970310151512.22489a-100000@kelly.teleport.com + Date: Mon, 10 Mar 1997 15:21:21 -0800 (PST) + Files: pod/perldiag.pod + + Title: "Patch for docs Re: Lost backslash" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.96.970319071438.24834G-100000@kelly.teleport.com> + Date: Wed, 19 Mar 1997 07:28:57 -0800 (PST) + Files: pod/perlop.pod + + Title: "XSUB's doc fix" + From: Roderick Schertler + Msg-ID: <28804.858012126@eeyore.ibcinc.com> + Date: Mon, 10 Mar 1997 11:42:06 -0500 + Files: pod/perlcall.pod pod/perlguts.pod pod/perlxstut.pod + + Title: "Document return from do FILE" + From: "M.J.T. Guy" + Msg-ID: <E0w70DK-0001yJ-00@ursa.cus.cam.ac.uk> + Date: Tue, 18 Mar 1997 14:50:10 +0000 + Files: pod/perlfunc.pod + + Title: "Document $^M in perlvar" + From: Robin Barker <rmb1@cise.npl.co.uk> + Msg-ID: <6153.9703202108@tempest.cise.npl.co.uk> + Date: Thu, 20 Mar 97 21:08:33 GMT + Files: pod/perlvar.pod + + Title: "typos in pods of 5.003_93" + From: Jim Meyering <meyering@asic.sc.ti.com> + Msg-ID: <wpgendbzvhx.fsf@asic.sc.ti.com> + Date: 19 Mar 1997 10:39:38 -0600 + Files: pod/perlfunc.pod pod/perlguts.pod pod/perlre.pod + pod/perltoot.pod pod/perlxs.pod + + Title: "Re: Updates to pod punctuations" + From: lvirden@cas.org (Larry W. Virden, x2487) + Msg-ID: <9703141700.AA22911@cas.org> + Date: Fri, 14 Mar 1997 17:00:12 -0500 + Files: pod/*.pod + + Title: "clarify example in perlfunc" + From: Jarkko Hietaniemi + Msg-ID: <199703201746.TAA25195@alpha.hut.fi> + Date: Thu, 20 Mar 1997 19:46:01 +0200 (EET) + Files: pod/perlfunc.pod + + Title: "Regularize headings in DB_File documentation" + From: Chip Salzenberg + Files: ext/DB_File/DB_File.pm + + +---------------- +Version 5.003_93 +---------------- + +Me, last time: + "This release will be the public beta of 5.004, + or my name isn't Larson T. Pettifogger." +Me, now: + "Gone like *that*, a fortune in letterhead." + + CORE LANGUAGE CHANGES + + Title: "Don't autovivify array and hash elements in sub parameters" + From: Gurusamy Sarathy + Msg-ID: <199703061912.OAA20606@aatma.engin.umich.edu> + Date: Thu, 06 Mar 1997 14:12:09 -0500 + Files: op.c pod/perldelta.pod pod/perlsub.pod pod/perltrap.pod + + Title: "Support READ and GETC for tied handles" + From: Doug MacEachern + Msg-ID: <199703090019.TAA32591@postman.osf.org> + Date: Sat, 08 Mar 1997 19:19:38 -0500 + Files: pod/perldelta.pod pod/perltie.pod pp_sys.c t/op/misc.t + + Title: "Warn on C<@x =~ /a/> and C<%x =~ s/a/b/>" + From: Chip Salzenberg + Files: op.c pod/perldiag.pod + + Title: "Warn on %{+undef} and @{+undef}" + From: Chip Salzenberg + Files: pp.c pp_hot.c + + CORE PORTABILITY + + Title: "VMS update" + From: Charles Bailey + Msg-ID: <01IG8KN5R28M00661G@hmivax.humgen.upenn.edu> + Date: Fri, 07 Mar 1997 22:49:46 -0500 (EST) + Files: lib/ExtUtils/MM_VMS.pm vms/descrip.mms vms/gen_shrfls.pl + vms/sockadapt.h + + Title: "AmigaOS hint patch" + From: Norbert Pueschel + Msg-ID: <77724767@Armageddon.meb.uni-bonn.de> + Date: Sat, 08 Mar 1997 12:50:15 +0100 + Files: hints/amigaos.sh + + OTHER CORE CHANGES + + Title: "Make conversion of @_ to real array work right after C<shift>" + From: Chip Salzenberg + Files: av.c + + Title: "Fix imbalanced ENTER/LEAVE from C<BEGIN{die}>" + From: Chip Salzenberg + Files: op.c perl.c proto.h + + Title: "perl -P path patch" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970308120242.23766D-100000@fractal.lafayette. + Date: Sat, 08 Mar 1997 12:45:08 -0500 (EST) + Files: config_H config_h.SH perl.c plan9/config.plan9 t/comp/cpp.t + vms/config.vms win32/config.H + + BUILD PROCESS + + Title: "Fix for Unisys UNIX and libperl.so" + From: aburlison@cix.compulink.co.uk (Alan Burlison) + Msg-ID: <memo.147328@cix.compulink.co.uk> + Date: Thu, 6 Mar 97 16:28 GMT0 + Files: Configure + + Title: "Allow './Configure -Uoptimize'" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970306110532.11070A-100000@fractal.lafayette. + Date: Thu, 06 Mar 1997 11:15:47 -0500 (EST) + Files: Configure + + Title: "Use 'test -f', not 'test -x'" + From: Spider Boardman + Msg-ID: <199703080053.TAA13943@web.zk3.dec.com> + Date: Fri, 7 Mar 1997 19:53:00 -0500 + Files: Configure + + Title: "Don't count on 'trap 0' inside () in shell script" + From: aburlison@cix.compulink.co.uk (Alan Burlison) + Msg-ID: <memo.147326@cix.compulink.co.uk> + Date: Thu, 6 Mar 97 16:28 GMT0 + Files: perl_exp.SH + + LIBRARY AND EXTENSIONS + + Title: "Carp with multiple arguments" + From: "M.J.T. Guy" + Msg-ID: <E0w3STZ-0007RW-00@taurus.cus.cam.ac.uk> + Date: Sat, 8 Mar 1997 20:12:17 +0000 + Files: lib/Carp.pm + + Title: "@EXPORT_FAIL fix for Exporter.pm" + From: Roderick Schertler + Msg-ID: <24884.857841724@eeyore.ibcinc.com> + Date: Sat, 08 Mar 1997 12:22:04 -0500 + Files: lib/Exporter.pm + + Title: "Open[23] autoflush docs" + From: Roderick Schertler + Msg-ID: <7939.857693947@eeyore.ibcinc.com> + Date: Thu, 06 Mar 1997 19:19:07 -0500 + Files: lib/IPC/Open2.pm lib/IPC/Open3.pm + + TESTS + + Title: "Fix counts in output of TEST" + From: Hugo van der Sanden <hv@iii.co.uk> + Msg-ID: <331F1507.4BE8@iii.co.uk> + Date: Thu, 06 Mar 1997 19:03:35 +0000 + Files: t/TEST + + Title: "Ignore backup files in strict.t and warning.t" + From: Chip Salzenberg + Files: t/pragma/strict.t t/pragma/warning.t + + UTILITIES + + Title: "Quote pathname before using as pattern" + From: Chip Salzenberg + Files: pod/pod2html.PL + + DOCUMENTATION + + Title: "Consolidated INSTALL updates since _92" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970308131806.23766F-100000@fractal.lafayette. + Date: Sat, 08 Mar 1997 13:21:22 -0500 (EST) + + Title: "Fix more E-Mail addresses in pods" + From: Chip Salzenberg + Files: lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Manifest.pm + lib/diagnostics.pm pod/buildtoc + + Title: "Warn about '.' terminating E-Mail" + From: Chip Salzenberg + Files: pod/perlform.pod + + Title: "OS/2 doc update" + From: Ilya Zakharevich + Msg-ID: <199703080537.AAA25157@monk.mps.ohio-state.edu> + Date: Sat, 8 Mar 1997 00:37:30 -0500 (EST) + Files: README.os2 + + Title: "PODs corrections" + From: Ilya Zakharevich + Msg-ID: <199703080253.VAA24975@monk.mps.ohio-state.edu> + Date: Fri, 7 Mar 1997 21:53:04 -0500 (EST) + Files: ext/DB_File/DB_File.pm ext/Socket/Socket.pm + lib/Class/Template.pm lib/ExtUtils/Embed.pm + lib/ExtUtils/MM_VMS.pm lib/ExtUtils/Mksymlists.pm + lib/File/Basename.pm lib/File/stat.pm lib/Time/gmtime.pm + lib/Time/localtime.pm lib/Time/tm.pm lib/User/grent.pm + lib/User/pwent.pm pod/perlcall.pod pod/perldebug.pod + pod/perlfunc.pod pod/perlguts.pod pod/perllocale.pod + pod/perlop.pod pod/perlsub.pod + + +---------------- +Version 5.003_92 +---------------- + +This release will be the public beta of 5.004, or my name isn't +Larson T. Pettifogger. + + CORE LANGUAGE CHANGES + + Title: "Strictly follow lexical context of C<eval ''> and nested subs" + From: Chip Salzenberg + Files: op.c + + Title: "Make ::SUPER and UNIVERSAL work together" + From: Chip Salzenberg + Files: gv.c pod/perlguts.pod + + CORE PORTABILITY + + Title: "HP-UX hint update" + From: Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com> + Msg-ID: <1479.857653838@lyon.grenoble.hp.com> + Date: Thu, 06 Mar 97 14:10:38 +0100 + Files: hints/hpux.sh + + Title: "Re: The continuing MachTen saga" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.95q.970305091611.3572E-100000@kelly.teleport.com> + Date: Wed, 5 Mar 1997 09:47:22 -0800 (PST) + Files: hints/machten_2.sh + + Title: "OS/2 patches" + From: Ilya Zakharevich + Msg-ID: <199703060308.WAA22211@monk.mps.ohio-state.edu> + Date: Wed, 5 Mar 1997 22:08:43 -0500 (EST) + Files: hints/os2.sh lib/ExtUtils/MakeMaker.pm t/op/taint.t + + Title: "VMS patches" + From: Charles Bailey + Msg-ID: <01IG5SQE4A6U00661G@hmivax.humgen.upenn.edu> + Date: Wed, 05 Mar 1997 23:10:24 -0500 (EST) + Files: lib/ExtUtils/MM_VMS.pm lib/ExtUtils/Manifest.pm perlsdio.h + t/op/runlevel.t t/op/taint.t vms/descrip.mms vms/perly_c.vms + vms/sockadapt.c vms/sockadapt.h vms/vms_yfix.pl + + OTHER CORE CHANGES + + Title: "Make sure $^X is tainted when ARG_ZERO_IS_SCRIPT" + From: Chip Salzenberg + Files: toke.c + + Title: "Clarify '-T too late' error" + From: Chip Salzenberg + Files: perl.c pod/perldiag.pod + + Title: "Warn when redefining or undefining a constant sub" + From: Chip Salzenberg + Files: pod/perldiag.pod pp.c sv.c + + Title: "Don't generate spurious 'not imported' warning" + From: Chip Salzenberg + Files: gv.c t/pragma/strict-vars pod/perldiag.pod + + Title: "Clarify message re: @host in string" + From: Chip Salzenberg + Files: pod/perldiag.pod pod/perltrap.pod toke.c + + Title: "Disconnect refs that are targets of pp_readline" + From: Chip Salzenberg + Files: pp_hot.c + + Title: "Fix typo in test of HvFILL()" + From: Chip Salzenberg + Files: op.c + + Title: "Allow for pad name array to be shorter than pad array" + From: Chip Salzenberg + Files: op.c + + Title: "Eliminate format-string type warnings" + From: Hallvard B Furuseth + Msg-ID: <199703030915.KAA11634@bombur2.uio.no> + Date: Mon, 3 Mar 1997 10:15:11 +0100 (MET) + Files: doio.c ext/POSIX/POSIX.xs gv.c hints/dec_osf.sh pp.c pp_ctl.c + pp_hot.c run.c sv.c x2p/a2py.c + + Title: "Update copyright dates" + From: Chip Salzenberg + Files: *.[hc] x2p/*.[hc] win32/EXTERN.h vms/vmsish.h vms/vms.c + + BUILD PROCESS + + Title: "near-harmless bug in _91's Configure" + From: Roderick Schertler + Msg-ID: <pzg1yfuiza.fsf@eeyore.ibcinc.com> + Date: 01 Mar 1997 21:26:49 -0500 + Files: Configure + + Title: "Change 'continuing anyway' to 'probably harmless'" + From: Chip Salzenberg + Files: INSTALL lib/ExtUtils/Liblist.pm + + LIBRARY AND EXTENSIONS + + Title: "Newer ReadLine" + From: Ilya Zakharevich + Msg-ID: <199703040634.BAA19919@monk.mps.ohio-state.edu> + Date: Tue, 4 Mar 1997 01:34:28 -0500 (EST) + Files: lib/Term/ReadLine.pm lib/perl5db.pl + + Title: "Refresh Getopt::Long to 2.9" + From: Johan Vromans <jvromans@squirrel.nl> + Files: lib/Getopt/Long.pm + + Title: "Benchmark: using code refs" + From: Hugo van der Sanden <hv@iii.co.uk> + Msg-ID: <199703041132.LAA07613@tyree.iii.co.uk> + Date: Tue, 04 Mar 1997 11:32:11 +0000 + Files: lib/Benchmark.pm + + Title: "Fix quotewords" + From: Hugo van der Sanden <hv@crypt.compulink.co.uk> + Msg-ID: <199703060755.HAA15060@crypt.compulink.co.uk> + Date: Thu, 06 Mar 1997 07:55:25 +0000 + Files: lib/Text/ParseWords.pm + + Title: "Use IV instead of double for tms structure members" + From: Chip Salzenberg + Files: ext/POSIX/POSIX.xs + + Title: "Document IO::File::new_tmpfile" + From: Chip Salzenberg + Files: ext/IO/lib/IO/File.pm + + TESTS + + Title: "Make op/TEST silent under -w" + From: d-lewart@uiuc.edu (Daniel S. Lewart) + Msg-ID: <199703011821.NAA13037@sinistar.idle.com> + Date: Sat, 1 Mar 97 12:04:09 CST + Files: t/TEST + + Title: "Smarter t/op/taint.t" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.95q.970303103047.24000A-100000@kelly.teleport.com + Date: Mon, 3 Mar 1997 10:31:54 -0800 (PST) + Files: t/op/taint.t + + Title: "Fix taint test for systems without csh" + From: Chip Salzenberg + Files: t/op/taint.t + + Title: "Don't test locales if there is no setlocale()" + From: Chip Salzenberg + Files: t/pragma/locale.t + + UTILITIES + + Title: "Update pod2html" + From: wmiddlet@Adobe.COM (William Middleton) + Msg-ID: <199703030025.QAA08106@ducks> + Date: Sun, 2 Mar 1997 16:25:03 -0800 (PST) + Files: pod/pod2html.PL + + Title: "Support 'long long' in h2ph" + From: (name lost) + Files: utils/h2ph.PL + + DOCUMENTATION + + Title: "Add taint checks and srand to perldelta" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.95q.970302115355.23058D-100000@kelly.teleport.com + Date: Sun, 2 Mar 1997 11:56:08 -0800 (PST) + Files: pod/perldelta.pod + + Title: "Don't call FileHandle 'deprecated'" + From: Chip Salzenberg + Files: pod/perldelta.pod + + Title: "Improve sample module header" + From: Tom Christiansen and Graham Barr + Msg-ID: <199703011732.KAA14693@jhereg.perl.com> + Date: Sat, 01 Mar 1997 10:32:31 -0700 + Files: pod/perlmod.pod + + Title: "Clarify C<crypt> documentation" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.95q.970228131112.12357D-100000@kelly.teleport.com + Date: Fri, 28 Feb 1997 13:18:25 -0800 (PST) + Files: pod/perlfunc.pod + + Title: "Update list of CPAN sites" + From: Jarkko Hietaniemi + Msg-ID: <199703021454.QAA07446@alpha.hut.fi> + Date: Sun, 2 Mar 1997 16:54:22 +0200 (EET) + Files: pod/perlmod.pod + + Title: "Enhance description of 'server error'" + From: Jarkko Hietaniemi + Msg-ID: <199702041903.VAA16070@alpha.hut.fi> + Date: Tue, 4 Feb 1997 21:03:23 +0200 (EET) + Files: pod/perldiag.pod + + Title: "Regularize format of E-Mail addresses in *.pod" + From: Chip Salzenberg + Files: pod/*.pod + + +---------------- +Version 5.003_91 +---------------- + +This is (should be? must be!) the public beta of 5.004. + + CORE LANGUAGE CHANGES + + Title: "Fix perl_call_*() when !G_EVAL" + From: Gurusamy Sarathy + Msg-ID: <199702250725.CAA09192@aatma.engin.umich.edu>, + <199702251925.OAA15498@aatma.engin.umich.edu>, + <199702252200.RAA16853@aatma.engin.umich.edu> + Date: Tue, 25 Feb 1997 02:25:56 -0500 + Files: MANIFEST gv.c interp.sym perl.c perl.h pp_ctl.c pp_sys.c + t/op/runlevel.t + + Title: "Fix taint tests for writeable dirs in $ENV{PATH}" + From: Chip Salzenberg + Files: mg.c mg.h pod/perlsec.pod taint.c + + Title: "Forbid tainted parameters for truncate()" + From: Chip Salzenberg + Files: pp_sys.c + + Title: "Don't taint magic hash keys unnecessarily" + From: Charles Bailey + Msg-ID: <01IFXL9TY74Y00661G@hmivax.humgen.upenn.edu> + Date: Fri, 28 Feb 1997 02:11:26 -0500 (EST) + Files: hv.c + + CORE PORTABILITY + + Title: "VMS patches post _90" + From: Charles Bailey + Msg-ID: <01IFYDE5ZT7O005A53@hmivax.humgen.upenn.edu> + Date: Fri, 28 Feb 1997 15:26:33 -0500 (EST) + Files: doio.c mg.c perl.h pp_hot.c t/op/rand.t t/op/taint.t taint.c + vms/descrip.mms vms/vms.c + + Title: "Fix taint check in system() and exec() under VMS and OS/2" + From: Chip Salzenberg + Files: pp_sys.c + + Title: "If _XOPEN_VERSION >= 4, socket length parameters are size_t" + From: Michael H. Moran <mhm@austin.ibm.com> + Files: perl.h pp_sys.c + + Title: "Make dooneliner() compile again" + From: Chip Salzenberg + Files: pp_sys.c + + OTHER CORE CHANGES + + Title: "Short-circuit duplicate study() calls" + From: Chip Salzenberg + Files: pp.c + + Title: "Call sv_set[iu]v() with [IU]V parameter, not [IU]32" + From: Chip Salzenberg + Files: perl.c pp.c pp_sys.c toke.c util.c + + Title: "Clean up and document API for hashes" + From: Gurusamy Sarathy + Msg-ID: <199702251824.NAA14859@aatma.engin.umich.edu> + Date: Tue, 25 Feb 1997 13:24:02 -0500 + Files: hv.c hv.h pod/perldelta.pod pod/perlguts.pod + + Title: "pp_undef was not always freeing memory" + From: Ilya Zakharevich + Msg-ID: <199702270653.BAA13949@monk.mps.ohio-state.edu> + Date: Thu, 27 Feb 1997 01:53:51 -0500 (EST) + Files: pp.c + + Title: "Fix SEGV when debugging with foreach() lvalue patch" + From: Ilya Zakharevich + Msg-ID: <199702271924.OAA14557@monk.mps.ohio-state.edu> + Date: Thu, 27 Feb 1997 14:24:36 -0500 (EST) + Files: sv.c + + Title: "Don't examine rx->exec_tainted if pregexec() fails" + From: Chip Salzenberg + Files: pp_hot.c + + Title: "Silence bogus typo warning on $DB::postponed" + From: Gurusamy Sarathy + Msg-ID: <199702271802.NAA12505@aatma.engin.umich.edu> + Date: Thu, 27 Feb 1997 13:02:30 -0500 + Files: op.c + + BUILD PROCESS + + Title: "Sanity check linking with $libs" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970225221634.2486A-100000@fractal.lafayette.edu> + Date: Tue, 25 Feb 1997 14:13:45 -0500 (EST) + Files: Configure + + Title: "Flush stdout when printing $randbits guess" + From: Chip Salzenberg + Files: Configure + + Title: "Configure changes for Irix nm" + From: Helmut Jarausch and Fabien Tassin + Files: Configure + + Title: "Update OS/2 Configure diff" + From: Ilya Zakharevich + Msg-ID: <199702251906.OAA10608@monk.mps.ohio-state.edu> + Date: Tue, 25 Feb 1997 14:06:23 -0500 (EST) + Files: os2/diff.configure + + LIBRARY AND EXTENSIONS + + Title: "Don't require() in a signal handler" + From: Chip Salzenberg + Files: lib/perl5db.pl + + Title: "Make IPC::Open3 work without fork()" + From: Ilya Zakharevich + Msg-ID: <199702251937.OAA10718@monk.mps.ohio-state.edu> + Date: Tue, 25 Feb 1997 14:37:07 -0500 (EST) + Files: lib/IPC/Open3.pm + + Title: "Follow up on elimination of $` $& $' in libraries" + From: "M.J.T. Guy" + Msg-ID: <E0w0Sqc-00046E-00@ursa.cus.cam.ac.uk> + Date: Fri, 28 Feb 1997 13:59:42 +0000 + Files: lib/Getopt/Long.pm lib/diagnostics.pm + + Title: "Don't warn on use of CCFLAGS" + From: Andreas Koenig + Msg-ID: <199702251038.LAA13123@anna.in-berlin.de> + Date: Tue, 25 Feb 1997 11:38:43 +0100 + Files: lib/ExtUtils/MakeMaker.pm + + Title: "Allow explicit '-lperl' in link arguments" + From: Doug MacEachern + Msg-ID: <199702271625.LAA25402@postman.osf.org> + Date: Thu, 27 Feb 1997 11:25:04 -0500 + Files: lib/ExtUtils/Embed.pm + + TESTS + + Title: "New test op/taint.t" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.95q.970225101328.18288M-100000@kelly.teleport.com + Date: Tue, 25 Feb 1997 11:36:53 -0800 (PST) + Files: MANIFEST t/op/taint.t + + Title: "Patch to t/op/rand.t" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.95q.970225181321.13796Q-100000@kelly.teleport.com + Date: Tue, 25 Feb 1997 18:19:34 -0800 (PST) + Files: t/op/rand.t + + UTILITIES + + Title: "Add --lax option to pod2man; use it in perldoc" + From: Nat <gnat@frii.com>, Chip Salzenberg + Files: pod/pod2man.PL utils/perldoc.PL + + Title: "Eliminate dead code in pod2man" + From: Chip Salzenberg + Files: pod/pod2man.PL + + DOCUMENTATION + + Title: "Warn about intrusive sfio behavior" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970228112136.24038G-100000@fractal.lafayette. + Date: Fri, 28 Feb 1997 11:35:49 -0500 (EST) + Files: INSTALL + + Title: "Updates to perlfunc.pod" + From: Tom Phoenix (with help from M.J.T. Guy and Tom C.) + Files: pod/perlfunc.pod + + Title: "Move ENVIRONMENT from perl.pod to perlrun.pod" + From: Chip Salzenberg + Files: pod/perl.pod pod/perlrun.pod + + Title: "Describe PERL_DEBUG_MSTATS in perlrun.pod" + From: Nat <gnat@frii.com> + Files: pod/perlrun.pod + + Title: "Fix references to perlbug" + From: Chip Salzenberg + Files: pod/perl.pod pod/perldelta.pod pod/perllocale.pod + pod/perltoc.pod + + +---------------- +Version 5.003_90 +---------------- + +At last, a mil[le]stone: The first beta of Perl 5.004. + + CORE LANGUAGE CHANGES + + Title: "Automatically call srand() before rand() if user didn't" + From: Chip Salzenberg + Files: pod/perlfunc.pod pp.c + + CORE PORTABILITY + + Title: "Ultrix hints" + From: Spider Boardman + Msg-ID: <199702220951.EAA08156@Orb.Nashua.NH.US> + Date: Sat, 22 Feb 1997 04:51:48 -0500 + Files: hints/ultrix_4.sh + + Title: "Digital UNIX and 3_28" + From: Jarkko Hietaniemi + Msg-ID: <199702231427.QAA13807@alpha.hut.fi> + Date: Sun, 23 Feb 1997 16:27:19 +0200 (EET) + Files: Configure MANIFEST ext/NDBM_File/hints/dec_osf.pl + ext/ODBM_File/hints/dec_osf.pl hints/dec_osf.sh + + Title: "AmigaOS patches to 5.003_28" + From: Norbert Pueschel + Msg-ID: <77724759@Armageddon.meb.uni-bonn.de> + Date: Sat, 22 Feb 1997 18:08:02 +0100 + Files: README.amiga hints/amigaos.sh t/io/fs.t 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/magic.t t/op/stat.t + + Title: "Hints for DC/OSx" + From: Stephen Zander <srz@loopback> + Msg-ID: <199702242124.NAA03796@wsuse5.mckesson.com> + Date: Mon, 24 Feb 1997 13:24:54 -0800 + Files: hints/dcosx.sh + + Title: "Update VMS version" + From: Chip Salzenberg + Files: vms/config.vms vms/descrip.mms + + OTHER CORE CHANGES + + Title: "Don't assume that sizeof(int) >= sizeof(void*)" + From: Chip Salzenberg + Files: doio.c malloc.c regexec.c + + BUILD PROCESS + + Title: "Re: ccdlflags don't quite work" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970224160630.5700E-100000@fractal.lafayette.e + Date: Mon, 24 Feb 1997 16:07:07 -0500 (EST) + Files: Configure + + Title: "Use $ccflags, $ldflags, $libs when determining $randbits" + From: Chip Salzenberg + Files: Configure + + Title: "'installperl -v' doesn't do enough" + From: Spider Boardman + Msg-ID: <199702241342.IAA25945@Orb.Nashua.NH.US> + Date: Mon, 24 Feb 1997 08:42:59 -0500 + Files: installperl + + Title: "installperl breaks running system (for a while)" + From: Spider Boardman + Msg-ID: <199702241412.JAA11829@Orb.Nashua.NH.US> + Date: Mon, 24 Feb 1997 09:12:11 -0500 + Files: installperl + + LIBRARY AND EXTENSIONS + + Title: "Don't clobber $1 et al in debugger's DB::sub()" + From: Ilya Zakharevich + Files: lib/perl5db.pl + + Title: "Fix fd leak in IO::Pipe" + From: Roderick Schertler + Msg-ID: <pzn2sv722y.fsf@eeyore.ibcinc.com> + Date: 23 Feb 1997 14:29:57 -0500 + Files: ext/IO/lib/IO/Pipe.pm + + Title: "Pod::Text fixes" + From: Roderick Schertler + Msg-ID: <350.856634588@eeyore.ibcinc.com> + Date: Sat, 22 Feb 1997 13:03:08 -0500 + Files: lib/Pod/Text.pm + + Title: "Trivial patch to make ExtUtils::Install more -w clean" + From: Tim Bunce + Msg-ID: <9702241605.AA17436@toad.ig.co.uk> + Date: Mon, 24 Feb 1997 16:05:17 +0000 + Files: lib/ExtUtils/Install.pm + + Title: "C<use vars> didn't work until 5.002" + From: Chip Salzenberg + Files: lib/vars.pm + + TESTS + + Title: "More thoroughly test rand() and srand()" + From: Tom Phoenix + Files: t/op/rand.t + + Title: "Don't use <*> where readdir() will do" + From: Chip Salzenberg + Files: t/op/stat.t + + Title: "Allow for $^X to be 'miniperl'" + From: Dominic Dunlop <domo@slipper.ip.lu> + Msg-ID: <v03020903af360f31aced@[194.51.248.65]> + Date: Sun, 23 Feb 1997 16:22:45 +0100 + Files: t/op/magic.t + + UTILITIES + + Title: "Post-28 INSTALL updates" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970224170713.5700H-100000@fractal.lafayette.e + Date: Mon, 24 Feb 1997 17:09:09 -0500 (EST) + Files: INSTALL + + Title: "Re: Hash key created by subroutine call? (fwd) " + From: Gurusamy Sarathy + Msg-ID: <199702242229.RAA04395@aatma.engin.umich.edu> + Date: Mon, 24 Feb 1997 17:29:30 -0500 + Files: pod/perlsub.pod pod/perltrap.pod + + Title: "Add documentation and '-h' option to perlbug" + From: Gurusamy Sarathy + Msg-ID: <199702240854.DAA27128@aatma.engin.umich.edu> + and <199702242009.PAA02849@aatma.engin.umich.edu> + Date: Mon, 24 Feb 1997 + Files: pod/perl.pod pod/perldelta.pod installman + utils/perlbug.PL + + Title: "pumpkin-1.9.pod" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970224155702.5700D-100000@fractal.lafayette.e + Date: Mon, 24 Feb 1997 16:06:02 -0500 (EST) + Files: Porting/pumpkin.pod + + DOCUMENTATION + + Title: "Fix typo in 'Tolkien quotation typo' fix" + From: Jarkko Hietaniemi + Files: Changes + + Title: "Document one-argument limitation with #! line" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.95q.970223182745.15989A-100000@kelly.teleport.com + Date: Sun, 23 Feb 1997 18:41:02 -0800 (PST) + Files: pod/perldiag.pod pod/perlsec.pod + + +---------------- +Version 5.003_28 +---------------- + +This release is beta candidate #6. If this isn't good enough to go beta, +I'll eat a floppy disk. (Okay, it's a chocolate floppy, but still....) + + CORE LANGUAGE CHANGES + + Title: "Don't let C<sub foo;> undefine &foo" + From: Chip Salzenberg + Files: op.c + + Title: "Make code, doc agree on $ENV{PATH} and `cmd`" + From: Chip Salzenberg + Files: pod/perlsec.pod pp_sys.c + + Title: "Don't taint $x in C<$x = ($tainted =~ /(\w+)/)>" + From: Chip Salzenberg + Files: pp_ctl.c pp_hot.c + + Title: "Turn off 'expression tainted' flag at end of runops()" + From: Chip Salzenberg + Files: run.c + + Title: "When overloading, don't throw away nomethod's value" + From: Ilya Zakharevich + Files: gv.c + + Title: "Optimize keys() and values() in void context" + From: Chip Salzenberg + Files: doop.c op.c + + CORE PORTABILITY + + Title: "New hints for Digital UNIX" + From: Jarkko Hietaniemi + Files: hints/dec_osf.sh + + Title: "No version of AIX has working setre[ug]id()" + From: neufeld@fast.pvi.org (Keith Neufeld) + Files: hints/aix.sh + + Title: "VMS patches post _27" + From: Charles Bailey + Msg-ID: <01IFMEMPN1IU0057E2@hmivax.humgen.upenn.edu> + Date: Thu, 20 Feb 1997 01:58:46 -0500 (EST) + Files: MANIFEST dosish.h hv.c lib/ExtUtils/MM_VMS.pm + lib/ExtUtils/xsubpp perl.c perlsdio.h pod/perldelta.pod + pod/perlvar.pod t/op/closure.t unixish.h vms/Makefile + vms/descrip.mms vms/ext/filespec.t vms/genconfig.pl + vms/vms.c vms/vmsish.h + + Title: "Re: OS/2 patch for _27" + From: Ilya Zakharevich + Msg-ID: <199702210024.TAA03174@monk.mps.ohio-state.edu> + Date: Thu, 20 Feb 1997 19:24:16 -0500 (EST) + Files: INSTALL README.os2 lib/Test/Harness.pm os2/Changes + os2/OS2/PrfDB/t/os2_prfdb.t os2/os2.c os2/os2ish.h + os2/perl2cmd.pl perl.c pod/perldelta.pod t/TEST t/harness + t/op/magic.t + + OTHER CORE CHANGES + + Title: "Fix a typo" + From: Chip Salzenberg + Files: pp_sys.c + + Title: "Undo signal patch -- it broke die() in signal" + From: Chip Salzenberg + Files: mg.c + + Title: "Fix perl_call_sv(..., G_NOARGS)" + From: Chip Salzenberg + Files: perl.c + + Title: "Fix SIGSEGV when cloning sub with complex expression" + From: Chip Salzenberg + Files: op.c + + Title: "Minor update to malloc.c" + From: Ilya Zakharevich + Msg-ID: <199702210244.VAA03676@monk.mps.ohio-state.edu> + Date: Thu, 20 Feb 1997 21:44:13 -0500 (EST) + Files: malloc.c + + Title: "Fix the Tolkien quotation" + From: Chip Salzenberg + Files: perly.y + + BUILD PROCESS + + (no changes) + + LIBRARY AND EXTENSIONS + + Title: "Debugger patch" + From: Ilya Zakharevich + Msg-ID: <199702210737.CAA03951@monk.mps.ohio-state.edu> + Date: Fri, 21 Feb 1997 02:37:59 -0500 (EST) + Files: lib/perl5db.pl + + Title: "Avoid $` $& $' in libraries" + From: Ilya Zakharevich + Msg-ID: <199702210207.VAA03560@monk.mps.ohio-state.edu> + Date: Thu, 20 Feb 1997 21:07:30 -0500 (EST) + Files: lib/Getopt/Long.pm lib/Pod/Text.pm lib/diagnostics.pm + os2/OS2/REXX/REXX.pm + + Title: "Remove redundant clearerr() from IO::Seekable" + From: Chip Salzenberg + Files: ext/IO/lib/IO/Handle.pm ext/IO/lib/IO/Seekable.pm + + Title: "prototype error in File::stat" + From: Graham.Barr@tiuk.ti.com + Msg-ID: <199702180748.HAA14151@ultra-boy> + Date: Tue, 18 Feb 1997 07:48:40 GMT + Files: lib/File/stat.pm + + TESTS + + Title: "Include 'study' in regexp.t" + From: Chip Salzenberg + Files: t/op/regexp.t + + Title: "Don't run locale test if -DNO_LOCALE" + From: Chip Salzenberg + Files: t/pragma/locale.t + + Title: "Tweak tests to notice $dont_use_nlink" + From: Chip Salzenberg + Files: t/io/fs.t t/op/stat.t + + Title: "Add test for grep() and wantarray" + From: Hugo van der Sanden <hv@iii.co.uk> + Msg-ID: <199702181105.LAA17895@tyree.iii.co.uk> + Date: Tue, 18 Feb 1997 11:05:59 +0000 + Files: t/op/misc.t + + UTILITIES + + (no changes) + + DOCUMENTATION + + Title: "INSTALL updates since _26" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95q.970218155815.2014F-100000@fractal.lafayette.e + Date: Tue, 18 Feb 1997 16:00:08 -0500 (EST) + Files: INSTALL + + Title: "Document "$$0" change" + From: Chip Salzenberg + Files: pod/perldelta.pod + + Title: "Don't recommend impossible //o for C<$x =~ $y>" + From: Chip Salzenberg + Files: pod/perlop.pod + + Title: "Correct doc that claimed that <FH> was never false" + From: Chip Salzenberg + Files: pod/perldelta.pod pod/perlop.pod + + Title: "Document C<$?> vs. $SIG{CHLD}" + From: Ulrich Pfeifer + Files: pod/perlvar.pod + + Title: "Add pumpkin.pod" + From: Chip Salzenberg + Files: MANIFEST Porting/pumpkin.pod + + Title: "Don't say "associat*ve arr*y"" + From: Chip Salzenberg + Files: MANIFEST gv.h hv.c lib/Env.pm lib/overload.pm opcode.pl + pod/perl.pod pod/perldelta.pod pod/perldiag.pod + pod/perlfunc.pod pod/perlguts.pod pod/perlmod.pod + pod/perltie.pod pod/perltoc.pod pod/perltrap.pod x2p/a2p.pod + + +---------------- +Version 5.003_27 +---------------- + +This release is beta candidate #5: Our last, best hope for a beta. + + CORE LANGUAGE CHANGES + + Title: "Better looks_like_number() function [sv.c]" + From: Gisle Aas + Msg-ID: <199702141708.SAA17546@bergen.sn.no> + Date: Fri, 14 Feb 1997 18:08:52 +0100 + Files: sv.c + + Title: "Remove redundant functions UNIVERSAL::{class,is_instance}" + From: Gisle Aas + Msg-ID: <hwwsbpeq2.fsf@bergen.sn.no> + Date: 14 Feb 1997 15:52:21 +0000 + Files: pod/perldelta.pod pod/perlobj.pod t/op/universal.t universal.c + + Title: "Allow C<setpgrp $$>" + From: Roderick Schertler + Msg-ID: <pzraigyshr.fsf@eeyore.ibcinc.com> + Date: 16 Feb 1997 23:19:12 -0500 + Files: pp_sys.c + + Title: "Fix syntax error on C<&$1>" + From: Chip Salzenberg + Files: toke.c + + Title: "Fix sub call through magic var (e.g. C<&$1>)" + From: Chip Salzenberg + Files: pp_hot.c + + Title: "Fix grep() with refs in array context" + From: Chip Salzenberg + Files: pp.c + + CORE PORTABILITY + + Title: "Eliminate $^S; add C<use vmsish qw(status exit time)>" + From: Charles Bailey + Msg-ID: <01IFI9CFKL0S004R2V@hmivax.humgen.upenn.edu> + Date: Mon, 17 Feb 1997 02:45:26 -0500 (EST) + Files: MANIFEST gv.c lib/English.pm lib/ExtUtils/MM_VMS.pm + lib/ExtUtils/Mksymlists.pm lib/ExtUtils/xsubpp mg.c op.c + perl.c perl.h pod/perldelta.pod pod/perlmod.pod + pod/perlvar.pod pp_ctl.c pp_sys.c utils/perldoc.PL + vms/Makefile vms/config.vms vms/descrip.mms + vms/ext/Stdio/Stdio.pm vms/ext/Stdio/Stdio.xs + vms/ext/XSSymSet.pm vms/ext/vmsish.pm vms/vms.c vms/vmsish.h + win32/makedef.pl + + Title: "Eliminate FP exceptions under SCO 5" + From: Chip Salzenberg + Files: hints/sco.sh unixish.h + + Title: "Digital UNIX hints" + From: Jarkko Hietaniemi + Msg-ID: <199702151906.VAA22999@alpha.hut.fi> + Date: Sat, 15 Feb 1997 21:06:33 +0200 (EET) + Files: hints/dec_osf.sh + + Title: "Irix6.4 (with 7.1 compilers)" + From: John Stoffel <jfs@fluent.com> + Msg-ID: <199702130238.VAA24468@jfs.Fluent.COM> + Date: Wed, 12 Feb 1997 21:38:51 -0500 (EST) + Files: hints/irix_6_2.sh hints/irix_6_4.sh + + Title: "Update Plan 9, Win32, VMS configs with $shortsize and $longsize" + From: Chip Salzenberg + Files: plan9/config.plan9 plan9/genconfig.pl + vms/genconfig.pl win32/config.w32 + + OTHER CORE CHANGES + + Title: "Fix core dump when embedding" + From: Chip Salzenberg + Files: perl.c + + Title: "Re: Fragile signals" + From: Ilya Zakharevich + Msg-ID: <199702130644.BAA07572@monk.mps.ohio-state.edu> + Date: Thu, 13 Feb 1997 01:44:39 -0500 (EST) + Files: mg.c + + Title: "Make format strings correspond exactly to parameters" + From: Roderick Schertler + Msg-ID: <pz7mkc1h0g.fsf@eeyore.ibcinc.com> + Date: 13 Feb 1997 17:24:31 -0500 + Files: doio.c ext/DB_File/DB_File.xs ext/Opcode/Opcode.xs gv.c op.c + perl.c pp_ctl.c pp_sys.c regcomp.c toke.c + + Title: "Don't try to attach 'o' magic to read-only values" + From: Chip Salzenberg + Files: sv.c + + Title: "Fix carriage-return message" + From: Chip Salzenberg + Files: toke.c + + Title: "In <=>, test for equality first" + From: Chip Salzenberg + Files: pp.c + + Title: "Don't mark sv_{true,false} PADTMP" + From: Chip Salzenberg + Files: op.c + + BUILD PROCESS + + Title: "Fix eval "" in Configure" + From: allen@gateway.grumman.com (John L. Allen) + Msg-ID: <9702141809.AA17001@gateway.grumman.com> + Date: Fri, 14 Feb 1997 13:09:53 -0500 + Files: Configure + + Title: "Don't link with -lsfio if sfio is not requested" + From: Chip Salzenberg + Files: Configure + + Title: "perl5.003_26 Configure change "win" for AIX 4" + From: Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> + Msg-ID: <Pine.OSF.3.95.970214135751.32654A-100000@dogbert.cc.ndsu.NoD + Date: Fri, 14 Feb 1997 13:59:02 -0600 (CST) + Files: Configure + + Title: "Update os2/diff.configure" + From: Chip Salzenberg + Files: os2/diff.configure + + LIBRARY AND EXTENSIONS + + Title: "Remove Fatal.pm" + From: Chip Salzenberg + Files: MANIFEST lib/Fatal.pm pod/perldelta.pod pod/perlmod.pod + pod/roffitall t/lib/fatal.t + + Title: "Refresh MakeMaker to 5.40" + From: Andy Dougherty, Andreas Koenig, Tim Bunce + Files: lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Unix.pm + lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm + + Title: "Refresh CPAN.pm to 1.21" + From: Andreas Koenig + Files: lib/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm + + Title: "Refresh Test::Harness to 1.15" + From: Andreas Koenig + Files: lib/Test/Harness.pm + + TESTS + + Title: "Remove non-portable locale tests" + From: Chip Salzenberg + Files: t/pragma/locale.t + + UTILITIES + + Title: "pod2man: missing '-' in name section shouldn't be fatal" + From: Ulrich Pfeifer + Msg-ID: <yfmzpxcimsa.fsf@ls6.informatik.uni-dortmund.de> + Date: 10 Feb 1997 18:38:45 +0100 + Files: pod/pod2man.PL + + DOCUMENTATION + + Title: "Update To-Do list" + From: Tim Bunce + Msg-ID: <9702101900.AA25293@toad.ig.co.uk> + Date: Mon, 10 Feb 1997 19:00:59 +0000 + Files: Todo + + Title: "Fix formatting in perldiag" + From: Chip Salzenberg + Files: pod/perldiag.pod + + +---------------- +Version 5.003_26 +---------------- + +This release is beta candidate #4. "Once more, dear friends...." + + CORE LANGUAGE CHANGES + + Title: "Make \r in script an error (per Larry)" + From: Chip Salzenberg + Files: pod/perldiag.pod toke.c + + Title: "Support '%i' format and 'h' modifier in s?printf" + From: Chip Salzenberg + Files: doop.c pod/perldelta.pod + + CORE PORTABILITY + + Title: "Fix value of system() and $? for DEC UNIX, VMS, others" + From: Chip Salzenberg + Files: mg.c perl.h pp_sys.c + + Title: "VMS patches post _25" + From: Charles Bailey + Msg-ID: <01IF48W3P39W0050BD@hmivax.humgen.upenn.edu> + Date: Fri, 07 Feb 1997 01:56:12 -0500 (EST) + Files: Porting/Glossary lib/ExtUtils/Liblist.pm + lib/ExtUtils/MM_VMS.pm lib/ExtUtils/xsubpp perl.c + vms/Makefile vms/config.vms vms/descrip.mms vms/genconfig.pl + vms/perlvms.pod vms/vms.c vms/vmsish.h x2p/a2p.c + + Title: "Hints for BSDOS" + From: Christopher Davis <ckd@loiosh.kei.com> + Msg-ID: <199702042011.PAA09206@loiosh.kei.com> + Date: Tue, 4 Feb 1997 15:11:13 -0500 (EST) + Files: hints/bsdos.sh + + Title: "On C<sysopen(..., O_APPEND)>, call C<fopen(..., "a")>" + From: Chip Salzenberg + Files: doio.c + + OTHER CORE CHANGES + + Title: "Fix (yet another) Tk closure problem" + From: Chip Salzenberg + Files: op.c perl.c pp_ctl.c + + Title: "Fix value of C<foreach>" + From: Chip Salzenberg + Files: cop.h pp_ctl.c + + Title: "Regexp optimizations" + From: Ilya Zakharevich + Msg-ID: <199702041102.GAA24805@monk.mps.ohio-state.edu> + Date: Tue, 4 Feb 1997 06:02:10 -0500 (EST) + Files: regcomp.c regexec.c + + Title: "Re: static buffer in not_a_number() [sv.c] might overflow" + From: Gisle Aas + Msg-ID: <hbu9uz1si.fsf@bergen.sn.no> + Date: 09 Feb 1997 11:55:41 +0100 + Files: sv.c + + Title: "Refine 'runaway string' heuristic" + From: Chip Salzenberg + Files: toke.c + + Title: "Fix core dump on C<print "a", last> in eval" + From: Chip Salzenberg + Files: pp_ctl.c + + Title: "Catch C<use integer; $x % 0>" + From: Chip Salzenberg + Files: pp.c + + BUILD PROCESS + + Title: "Fix usage message in configure.gnu" + From: Jarkko Hietaniemi + Files: configure.gnu + + LIBRARY AND EXTENSIONS + + Title: "DB_File 1.11 patch" + From: Paul Marquess + Msg-ID: <9702061553.AA18147@claudius.bfsec.bt.co.uk> + Date: Thu, 6 Feb 97 15:53:34 GMT + Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs + + Title: "Faster File::Compare" + From: Gisle Aas + Msg-ID: <199702051342.OAA02753@bergen.sn.no> + Date: Wed, 5 Feb 1997 14:42:49 +0100 + Files: lib/File/Compare.pm + + Title: "Make diagnostics module strip formatting directives" + From: Chip Salzenberg + Files: lib/diagnostics.pm pod/perldiag.pod + + Title: "Fix warning from missing POSIX::setvbuf()" + From: Chip Salzenberg + Files: ext/IO/IO.xs + + TESTS + + Title: "Fix closure.t for AmigaOS (again)" + From: Norbert Pueschel + Msg-ID: <77724742@Armageddon.meb.uni-bonn.de> + Date: Wed, 05 Feb 1997 18:56:45 +0100 + Files: t/op/closure.t + + UTILITIES + + Title: "perldoc -f <perlfunc>" + From: Gisle Aas + Msg-ID: <199702051127.MAA02090@bergen.sn.no> + Date: Wed, 5 Feb 1997 12:27:36 +0100 + Files: utils/perldoc.PL + + Title: "Fix pod2man's handling of quotes in =items" + From: Jarkko Hietaniemi + Msg-ID: <199702042023.WAA13143@alpha.hut.fi> + Date: Tue, 4 Feb 1997 22:23:34 +0200 (EET) + Files: pod/pod2man.PL + + DOCUMENTATION + + Title: "return *FH pod patch" + From: allen@gateway.grumman.com (John L. Allen) + Msg-ID: <9702061507.AA04474@gateway.grumman.com> + Date: Thu, 6 Feb 1997 10:07:28 -0500 + Files: pod/perldata.pod pod/perlsub.pod + + Title: "Describe interation of untie and DESTROY" + From: Paul Marquess and Chip Salzenberg + Files: pod/perltie.pod + + +---------------- +Version 5.003_25 +---------------- + +This release is beta candidate #3. Here's hoping... + + CORE LANGUAGE CHANGES + + Title: "Make $] read-only" + From: Chip Salzenberg + Files: gv.c + + Title: "New variable C<$^S> is a native version of C<$?>" + From: Chip Salzenberg + Files: doio.c global.sym gv.c interp.sym lib/English.pm mg.c perl.c + perl.h pod/perldelta.pod pod/perlfunc.pod pod/perlvar.pod + pp_ctl.c pp_sys.c proto.h util.c + + Title: "Make $^T work with undump, and don't taint it" + From: Chip Salzenberg + Files: perl.c + + CORE PORTABILITY + + Title: "VMS patches for _24" + From: Charles Bailey + Msg-ID: <01IEUIFP5038004GQP@hmivax.humgen.upenn.edu> + Date: Fri, 31 Jan 1997 02:34:37 -0500 (EST) + Files: ext/DynaLoader/DynaLoader.pm ext/DynaLoader/dl_vms.xs + lib/AutoSplit.pm lib/ExtUtils/MM_VMS.pm + lib/ExtUtils/MakeMaker.pm perl.h pp_hot.c t/lib/filehand.t + t/op/closure.t vms/Makefile vms/config.vms vms/descrip.mms + vms/ext/filespec.t vms/vms.c vms/vmsish.h + + Title: "hints/dec_osf.sh: polishing the comments" + From: Jarkko Hietaniemi + Msg-ID: <199701301958.VAA08992@alpha.hut.fi> + Date: Thu, 30 Jan 1997 21:58:10 +0200 (EET) + Files: hints/dec_osf.sh + + Title: "amigaos.sh" + From: Norbert Pueschel + Msg-ID: <77724724@Armageddon.meb.uni-bonn.de> + Date: Wed, 29 Jan 1997 11:39:49 +0100 + Files: hints/amigaos.sh + + OTHER CORE CHANGES + + Title: "Require '-T' in argv[], not just on #! line" + From: Chip Salzenberg + Files: perl.c pod/perldiag.pod + + Title: "Fix C<return @_> and associated stack bugs" + From: Chip Salzenberg + Files: cop.h pp_ctl.c pp_hot.c t/op/misc.t + + Title: "Fix never-closing handle after C<select>" + From: Chip Salzenberg + Files: pp_sys.c + + Title: "Fix /\G/g with patterns that match empty string" + From: Ilya Zakharevich + Files: pp_hot.c + + Title: "Fix scalar leak in av_unshift" + From: Chip Salzenberg + Files: av.c + + Title: "Ignore refs to lexicals when making refs to lexicals" + From: Chip Salzenberg + Files: op.c + + Title: "Don't create AV, HV, IO when assigning glob" + From: Chip Salzenberg + Files: mg.c + + BUILD PROCESS + + Title: "Configure updates for intsize and ssizetype" + From: Andy Dougherty + Files: Configure MANIFEST config_H config_h.SH handy.h + + Title: "Ask about /usr/bin/perl iff STDIN and STDERR are terminals" + From: Chip Salzenberg + Files: installperl + + LIBRARY AND EXTENSIONS + + Title: "Refresh CPAN to 1.19" + From: Andreas Koenig + Files: lib/Bundle/CPAN.pm lib/CPAN.pm lib/CPAN/FirstTime.pm + + Title: "Debugger update" + From: Ilya Zakharevich + Msg-ID: <199702030406.XAA23029@monk.mps.ohio-state.edu> + Date: Sun, 2 Feb 1997 23:06:34 -0500 (EST) + Files: lib/perl5db.pl + + Title: "In Symbol::gensym, don't make glob fake by copying it" + From: John Hughes <john@AtlanTech.COM> + Files: lib/Symbol.pm + + Title: "Make POSIX::is*() eight-bit-clean" + From: Chip Salzenberg + Files: ext/POSIX/POSIX.xs + + Title: "Make IO::Handle::gets() an alias of getline" + From: Gisle Aas + Msg-ID: <199701301103.MAA11291@bergen.sn.no> + Date: Thu, 30 Jan 1997 12:03:15 +0100 + Files: ext/IO/lib/IO/Handle.pm lib/IO/Handle.pm + + TESTS + + Title: "More Amiga test patches" + From: Norbert Pueschel + Msg-ID: <77724725@Armageddon.meb.uni-bonn.de> + Date: Wed, 29 Jan 1997 16:07:33 +0100 + Files: README.amiga t/lib/safe2.t t/op/closure.t + + UTILITIES + + Title: "c2ph.PL fix" + From: lvirden@cas.org (Larry W. Virden) + Msg-ID: <199701301349.IAA16724@cas.org> + Date: Thu, 30 Jan 1997 08:49:19 -0500 + Files: utils/c2ph.PL + + Title: "Make pod2man a little laxer for perltoc.pod" + From: Chip Salzenberg + Files: pod/pod2man.PL + + DOCUMENTATION + + Title: "Update to perl INSTALL file" + From: lvirden@cas.org (Larry W. Virden) + Msg-ID: <199701301338.IAA15878@cas.org> + Date: Thu, 30 Jan 1997 08:38:23 -0500 + Files: INSTALL + + Title: "Update to perl.pod suggested" + From: lvirden@cas.org (Larry W. Virden) + Msg-ID: <199701301345.IAA16514@cas.org> + Date: Thu, 30 Jan 1997 08:45:59 -0500 + Files: pod/perl.pod + + Title: "Document how extension pms go in $archlib" + From: Chip Salzenberg + Files: pod/perldelta.pod + + Title: "perlfunc.pod tweaks" + From: Roderick Schertler + Msg-ID: <20526.854659255@eeyore.ibcinc.com> + Date: Thu, 30 Jan 1997 16:20:55 -0500 + Files: pod/perlfunc.pod + + Title: "new (Feb 1) perlembed.pod" + From: Jon Orwant <orwant@media.mit.edu> + Msg-ID: <9702012334.AA15747@fahrenheit-451.media.mit.edu> + Date: Sat, 1 Feb 1997 18:34:59 -0500 + Files: pod/perlembed.pod + + Title: "Error lines must not have trialing periods" + From: Chip Salzenberg + Files: pod/perldiag.pod + + +---------------- +Version 5.003_24 +---------------- + +This release is the second candidate for a public beta test. +It's, well, bunches better than _23. + + CORE LANGUAGE CHANGES + + Title: "glob defaults to $_" + From: Gurusamy Sarathy + Msg-ID: <199701270809.DAA00934@aatma.engin.umich.edu> + Date: Mon, 27 Jan 1997 03:09:13 -0500 + Files: op.c opcode.pl pod/perlfunc.pod t/op/glob.t + + Title: "Re: an overloading bug " + From: Gurusamy Sarathy + Msg-ID: <199701270007.TAA26525@aatma.engin.umich.edu> + Date: Sun, 26 Jan 1997 19:07:45 -0500 + Files: pod/perldiag.pod pod/perlfunc.pod pp_ctl.c + + Title: "Don't warn on C<$\ = undef>" + From: Chip Salzenberg + Files: mg.c + + CORE PORTABILITY + + Title: "Win32 port" + From: Gary Ng <71564.1743@compuserve.com> + Files: MANIFEST win32/* + + Title: "Amiga files" + From: Norbert Pueschel + Msg-ID: <77724712@Armageddon.meb.uni-bonn.de> + Date: Sun, 26 Jan 1997 17:42:15 +0100 + Files: MANIFEST README.amiga hints/amigaos.sh + + Title: "New dec_osf hints" + From: Jarkko.Hietaniemi@cc.hut.fi + Msg-ID: <199701271233.OAA21548@alpha.hut.fi> + Date: Mon, 27 Jan 1997 14:33:01 +0200 (EET) + Files: hints/dec_osf.sh + + OTHER CORE CHANGES + + Title: "Prevent premature death of @_ during leavesub" + From: Chip Salzenberg + Files: pp_hot.c t/op/misc.t + + Title: "Deref old stash when re-blessing" + From: Chip Salzenberg + Files: sv.c + + Title: "Don't abort when RCHECK and DEBUGGING" + From: Tim Bunce + Msg-ID: <9701272339.AA16537@toad.ig.co.uk> + Date: Mon, 27 Jan 1997 23:39:48 +0000 + Files: malloc.c + + Title: "Fix overloading macro conflict with Digital 'cc -fast'" + From: Jarkko Hietaniemi + Msg-ID: <199701272216.AAA04557@alpha.hut.fi> + Date: Tue, 28 Jan 1997 00:16:49 +0200 (EET) + Files: perl.h + + Title: "global.sym: typo?" + From: Jarkko Hietaniemi + Msg-ID: <199701261937.VAA07556@alpha.hut.fi> + Date: Sun, 26 Jan 1997 21:37:59 +0200 (EET) + Files: global.sym + + BUILD PROCESS + + Title: "Put all extensions' modules in $archlib" + From: Chip Salzenberg + Files: installperl + + Title: "Configure fixes: set $archlib, omit _NO_PROTO" + From: Chip Salzenberg + Files: Configure + + Title: "Make configure{,.gnu} ignore --cache-file option" + From: Norbert Pueschel + Files: configure configure.gnu + + LIBRARY AND EXTENSIONS + + Title: "Version checking in XS bootstrap is optional" + From: Chip Salzenberg + Files: XSUB.h + + Title: "Update $VERSION of DynaLoader and POSIX" + From: Chip Salzenberg + Files: ext/DynaLoader/DynaLoader.pm ext/POSIX/POSIX.pm + + Title: "Refresh Text::Wrap to 97.011701" + From: Chip Salzenberg + Files: lib/Text/Wrap.pm + + Title: "Fcntl.xs: F_[GS]ETOWN were in wrong case branch" + From: Jarkko Hietaniemi + Msg-ID: <199701251510.RAA05142@alpha.hut.fi> + Date: Sat, 25 Jan 1997 17:10:20 +0200 (EET) + Files: ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs + + Title: "Fix $Is_VMS typo in Test::Harness" + From: Chip Salzenberg + Files: lib/Test/Harness.pm + + Title: "Allow for really big keys in Tie::SubstrHash" + From: data-drift@so.uio.no + Msg-ID: <199701282014.VAA12645@selters.uio.no> + Date: Tue, 28 Jan 1997 21:14:34 +0100 (MET) + Files: lib/Tie/SubstrHash.pm + + Title: "Avoid newRV_noinc() in IO, for compiling with old Perls" + From: Chip Salzenberg + Files: ext/IO/IO.xs + + TESTS + + Title: "New test op/closure.t" + From: Tom Phoenix, Ulrich Pfeifer + Files: MANIFEST t/op/closure.t + + UTILITIES + + Title: "xsubpp handing of void funcs breaks extensions using XST_m*()" + From: Tim Bunce + Msg-ID: <9701271659.AA15137@toad.ig.co.uk> + Date: Mon, 27 Jan 1997 16:59:06 +0000 + Files: lib/ExtUtils/xsubpp + + DOCUMENTATION + + Title: "perldelta Fcntl enhancement" + From: Jarkko Hietaniemi + Msg-ID: <199701251505.RAA22159@alpha.hut.fi> + Date: Sat, 25 Jan 1997 17:05:34 +0200 (EET) + Files: pod/perldelta.pod + + Title: "Updates to perldelta re: Fcntl, DB_File, Net::Ping" + From: Paul Marquess + Files: pod/perldelta.pod + + Title: "Document restrictions on gv_fetchmethod() and perl_call_sv()" + From: Chip Salzenberg + Files: pod/perldelta.pod pod/perlguts.pod + + Title: "perldiag.pod: No comma allowed after %s" + From: Jarkko.Hietaniemi@cc.hut.fi + Msg-ID: <199701251541.RAA04120@alpha.hut.fi> + Date: Sat, 25 Jan 1997 17:41:53 +0200 (EET) + Files: pod/perldiag.pod + + Title: "perlfunc.pod: localtime" + From: Jarkko Hietaniemi + Msg-ID: <199701251629.SAA08114@alpha.hut.fi> + Date: Sat, 25 Jan 1997 18:29:37 +0200 (EET) + Files: pod/perlfunc.pod + + Title: "perlfunc diff: gmtime" + From: Peter Haworth <pmh@edison.ioppublishing.com> + Msg-ID: <32EE1298.7B90@edison.ioppublishing.com> + Date: Tue, 28 Jan 1997 14:52:08 +0000 + Files: pod/perlfunc.pod + + Title: "Updates to guts" + From: Ilya Zakharevich + Msg-ID: <199701270034.TAA13177@monk.mps.ohio-state.edu> + Date: Sun, 26 Jan 1997 19:34:18 -0500 (EST) + Files: pod/perlguts.pod + + Title: "perltoot fixes" + From: Tom Christiansen + Msg-ID: <6807.854214205@jinete> + Date: Sat, 25 Jan 1997 09:43:25 -0800 + Files: pod/perltoot.pod + + Title: "5.003_23: small typo in perlsyn.pod" + From: Gurusamy Sarathy + Msg-ID: <199701270824.DAA01169@aatma.engin.umich.edu> + Date: Mon, 27 Jan 1997 03:24:25 -0500 + Files: pod/perlsyn.pod + + +---------------- +Version 5.003_23 +---------------- + +This release is our first candidate for a public beta test. + + CORE LANGUAGE CHANGES + + Title: "Disallow changing $_[0] in __DIE__ handlers" + From: Chip Salzenberg + Files: pod/perlfunc.pod util.c + + Title: "Fix overloading with inheritance and AUTOLOAD" + From: Ilya Zakharevich + Msg-ID: <199701202226.RAA05072@monk.mps.ohio-state.edu> + Date: Mon, 20 Jan 1997 17:26:32 -0500 (EST) + Files: gv.c lib/diagnostics.pm lib/overload.pm pod/perldebug.pod + pod/perldiag.pod pod/perlfunc.pod pod/perlop.pod + pod/perlre.pod pod/perltoc.pod pod/perlxs.pod + + Title: "Nested here-docs" + From: larry@wall.org (Larry Wall) + Msg-ID: <199701202313.PAA11693@wall.org> + Date: Mon, 20 Jan 1997 15:13:42 -0800 + Files: toke.c + + Title: "Revert $^X to old behavior (plus HP-UX bug fix)" + From: Chip Salzenberg + Files: hints/hpux.sh toke.c + + Title: "Protect against '0' in 'stmt while <HANDLE>'" + From: Chip Salzenberg + Files: op.c + + Title: "Don't warn when closure uses var at file scope" + From: Chip Salzenberg + Files: op.c + + CORE PORTABILITY + + Title: "VMS patches for _22" + From: Charles Bailey + Msg-ID: <01IEGBJ2TMYS003PCL@hmivax.humgen.upenn.edu> + Date: Mon, 20 Jan 1997 22:50:21 -0500 (EST) + Files: ext/POSIX/POSIX.xs lib/ExtUtils/MM_VMS.pm lib/ExtUtils/xsubpp + lib/Test/Harness.pm toke.c vms/Makefile vms/descrip.mms + vms/genconfig.pl vms/perly_c.vms vms/vmsish.h x2p/a2p.h + vms/Makefile vms/config.vms vms/descrip.mms vms/perly_c.vms + + Title: "Re: Perl 5.003_21: OS/2 patches" + From: Ilya Zakharevich + Msg-ID: <199701170446.XAA28939@monk.mps.ohio-state.edu> + Date: Thu, 16 Jan 1997 23:46:40 -0500 (EST) + Files: os2/Changes os2/os2.c + + Title: "Plan9 update" + From: lutherh@stratcom.com (Luther Huffman) + Files: plan9/config.plan9 plan9/mkfile + + Title: "Bugfixes for AmigaOS" + From: Norbert Pueschel + Msg-ID: <77724691@Armageddon.meb.uni-bonn.de> + Date: Wed, 22 Jan 1997 00:13:54 +0100 + Files: hints/amigaos.sh lib/File/Basename.pm + + Title: "New dec_osf.sh hints file" + From: Achim Bohnet <ach@rosat.mpe-garching.mpg.de> + Msg-ID: <9701241058.AA29550@o09.rosat.mpe-garching.mpg.de> + Date: Fri, 24 Jan 1997 11:58:24 +0100 + Files: hints/dec_osf.sh + + Title: "on NeXT: gdbm problem fixed" + From: Andreas Koenig + Msg-ID: <199701210201.DAA17794@anna.in-berlin.de> + Date: Tue, 21 Jan 1997 03:01:32 +0100 + Files: hints/next_3.sh hints/next_3_0.sh + + Title: "patch for hints/powerux.sh" + From: tom@amber.ssd.hcsc.com (Tom Horsley) + Msg-ID: <9701181833.AA02602@amber.ssd.hcsc.com> + Date: Sat, 18 Jan 97 13:33:26 -0500 + Files: hints/powerux.sh + + Title: "hints & Configure changes to build perl on DC/OSx" + From: Stephen Zander <stephen.zander@interlock.mckesson.com> + Msg-ID: <199701170043.QAA25985@wsbip1.mckesson.com> + Date: Thu, 16 Jan 1997 16:43:52 -0800 + Files: Configure MANIFEST hints/dcosx.sh + + Title: "patch for hints/cxux.sh perl5.003_22" + From: tom@amber.ssd.hcsc.com (Tom Horsley) + Msg-ID: <9701192014.AA05722@amber.ssd.hcsc.com> + Date: Sun, 19 Jan 97 15:14:04 -0500 + Files: hints/cxux.sh + + OTHER CORE CHANGES + + Title: "Make PERL5LIB and -I work like C<use lib>" + From: Tim Bunce + Msg-ID: <9701231523.AA26613@toad.ig.co.uk> + Date: Thu, 23 Jan 1997 15:23:27 +0000 + Files: lib/lib.pm perl.c + + Title: "Fix /\G.a/" + From: Chip Salzenberg + Files: regcomp.c regcomp.h regexec.c regexp.h toke.c + + Title: "Extend stack in pp_undef (!)" + From: Chip Salzenberg + Files: pp.c + + Title: "Allow for sub to be redefined while executing" + From: Chip Salzenberg + Files: cop.h pp_hot.c t/op/misc.t + + Title: "Eliminate redundant flag CVf_FORMAT" + From: Chip Salzenberg + Files: cv.h op.c perl.c perly.c perly.y proto.h sv.c toke.c + + Title: "Generate IVs when possible in abs() and int()" + From: Chip Salzenberg + Files: pp.c + + Title: "Efficiency patchlet for pp_aassign()" + From: Ilya Zakharevich + Msg-ID: <199701210305.WAA05451@monk.mps.ohio-state.edu> + Date: Mon, 20 Jan 1997 22:05:39 -0500 (EST) + Files: pp_hot.c + + Title: "When sorting, promote to PVNV only for built-in comparison" + From: Chip Salzenberg + Files: pp_ctl.c + + Title: "Remove "suidperl security patch" message" + From: Chip Salzenberg + Files: perl.c + + BUILD PROCESS + + Title: "Make configure.gnu a copy of configure; make configure writea + From: Chip Salzenberg + Files: MANIFEST configure.gnu + + Title: "Regen Configure with metaconfig: +ARCHNAME, -FILE_filbuf" + From: Chip Salzenberg and Charles Bailey + Files: Configure config_H config_h.SH hints/lynxos.sh + os2/diff.configure os2/os2ish.h plan9/config.plan9 sv.c + utils/perlbug.PL vms/config.vms vms/fndvers.com + + Title: "Compile with optimization when testing memory functions" + From: Chip Salzenberg + Files: Configure + + Title: "Minor patch for Debian installation" + From: Chip Salzenberg + Files: installperl + + LIBRARY AND EXTENSIONS + + Title: "Debugger update" + From: Ilya Zakharevich + Msg-ID: <199701190455.XAA02579@monk.mps.ohio-state.edu> + Date: Sat, 18 Jan 1997 23:54:59 -0500 (EST) + Files: lib/perl5db.pl + + Title: "DynaLoader enhancement: support RTLD_GLOBAL" + From: Nick Ing-Simmons + Msg-ID: <199701240937.JAA11443@pluto.tiuk.ti.com> + Date: Fri, 24 Jan 1997 09:37:18 GMT + Files: ext/DynaLoader/DynaLoader.pm 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 + + Title: "Fcntl: add more constants" + From: Jarkko.Hietaniemi@cc.hut.fi + Msg-ID: <199701191811.UAA16346@alpha.hut.fi> + Date: Sun, 19 Jan 1997 20:11:22 +0200 (EET) + Files: ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs + + Title: "Refresh IO to 1.15 (plus DESTROY and new_tmpfile fixes)" + From: Chip Salzenberg + Files: 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/Socket.pm t/lib/io_pipe.t + + Title: "Allow IO.xs to remain at 1.15 while $VERSION is 1.1501" + From: Chip Salzenberg + Files: XSUB.h ext/IO/Makefile.PL ext/IO/lib/IO/Handle.pm + + Title: "Refresh CPAN to 1.15" + From: Andreas Koenig + Files: lib/CPAN.pm lib/CPAN/FirstTime.pm + + Title: "Add E* and SA_* constants" + From: Roderick Schertler + Msg-ID: <23338.853986967@eeyore.ibcinc.com> + Date: Wed, 22 Jan 1997 21:36:07 -0500 + Files: ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod ext/POSIX/POSIX.xs + + TESTS + + Title: "Test nested here-docs" + From: hv@crypt.compulink.co.uk (Hugo van der Sanden) + Msg-ID: <199701210053.AAA02139@crypt.compulink.co.uk> + Date: Tue, 21 Jan 1997 00:53:44 +0000 (GMT) + Files: t/base/lex.t + + Title: "Fix tests of $^X and $0 to work with QNX" + From: Chip Salzenberg + Files: t/lib/io_pipe.t t/lib/open2.t t/lib/open3.t t/op/magic.t + + Title: "Patch tests for systems without fork()" + From: Norbert Pueschel + Msg-ID: <77724697@Armageddon.meb.uni-bonn.de> + Date: Thu, 23 Jan 1997 23:51:28 +0100 + Files: t/io/pipe.t t/lib/filehand.t t/lib/io_pipe.t t/lib/io_sock.t + t/lib/open2.t t/lib/open3.t t/op/fork.t + + Title: "Test patches for OS/2" + From: Ilya Zakharevich + Msg-ID: <199701170448.XAA28948@monk.mps.ohio-state.edu> + Date: Thu, 16 Jan 1997 23:48:18 -0500 (EST) + Files: os2/OS2/ExtAttr/t/os2_ea.t os2/OS2/PrfDB/t/os2_prfdb.t + 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 t/README t/cmd/while.t + t/comp/colon.t t/comp/multiline.t t/io/argv.t t/lib/anydbm.t + t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t t/lib/sdbm.t + t/op/cmp.t t/op/magic.t + + UTILITIES + + Title: "Translate \200 to È in pod2html" + From: Chip Salzenberg + Files: pod/pod2html.PL + + Title: "VMS patches: '.com' extension on scripts" + From: Charles Bailey + Msg-ID: <01IELNPDLYJM003E7J@hmivax.humgen.upenn.edu> + Date: Fri, 24 Jan 1997 18:42:29 -0500 (EST) + Files: 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 vms/Makefile vms/descrip.mms + x2p/find2perl.PL x2p/s2p.PL + + Title: "Allow MakeMaker 5.34 to use libraries containing '+' in name" + From: dennism@cyrix.com (Dennis Marsa) + Msg-ID: <9701172027.AA27861@orion.cyrix.com> + Date: Fri, 17 Jan 97 14:27:32 CST + Files: lib/ExtUtils/Liblist.pm + + DOCUMENTATION + + Title: "First cut at INSTALL edit" + From: Chip Salzenberg + Files: INSTALL + + Title: "Additional docs for __DIE__ and __WARN__" + From: Gurusamy Sarathy + Files: pod/perlfunc.pod pod/perlrun.pod pod/perlvar.pod + + Title: "Document #line directive" + From: Gurusamy Sarathy + Msg-ID: <199701240908.EAA23846@aatma.engin.umich.edu> + Date: Fri, 24 Jan 1997 04:08:44 -0500 + Files: pod/perlsyn.pod pod/perltoc.pod + + Title: "Perlguts version 30" + From: Jeff Okamoto + Msg-ID: <199701172117.AA116515863@hpcc123.corp.hp.com> + Date: Fri, 17 Jan 1997 13:17:43 -0800 + Files: pod/perlguts.pod + + Title: "delta for perldelta" + From: Tom Christiansen + Msg-ID: <804.854121463@jinete> + Date: Fri, 24 Jan 1997 07:57:43 -0800 + Files: pod/perlnews.pod pod/perltoc.pod + + Title: "Updates to perldelta" + From: Ilya Zakharevich + Msg-ID: <199701211610.LAA06227@monk.mps.ohio-state.edu> + Date: Mon, 20 Jan 1997 06:48:49 -0500 (EST) + Files: pod/perlnews.pod pod/perltoc.pod + + Title: "perlnews.pod diff for the Fcntl" + From: Jarkko Hietaniemi + Msg-ID: <199701211600.SAA30117@alpha.hut.fi> + Date: Tue, 21 Jan 1997 18:00:56 +0200 (EET) + Files: pod/perlnews.pod + + Title: "Rename perlnews -> perldelta per Tom's request" + From: Chip Salzenberg + Files: MANIFEST pod/Makefile pod/buildtoc pod/perl.pod + pod/perldelta.pod pod/perltoc.pod pod/roffitall + + Title: "Remove bad advice from perllocale.pod" + From: Chip Salzenberg + Files: pod/perllocale.pod + + +---------------- +Version 5.003_22 +---------------- + +This release is primarily made up of bug fixes, the foremost among +which repairs a showstopper memory corruption bug in formats. + + CORE LANGUAGE CHANGES + + Title: "Fix parsing of C< ${ xyz } >" + From: Chip Salzenberg + Files: toke.c + + Title: "Don't parse method calls in strings" + From: Chip Salzenberg + Files: toke.c + + Title: "Fix overly picky carping about leading '{' in regex" + From: Chip Salzenberg + Files: regcomp.c + + OTHER CORE CHANGES + + Title: "Fix memory corruption from formats" + From: Chip Salzenberg + Files: op.c perl.c perly.c perly.c.diff perly.y proto.h sv.c toke.c + + BUILD PROCESS + + Title: "Fix '_mopop' typo" + From: Chip Salzenberg + Files: Makefile.SH + + LIBRARY AND EXTENSIONS + + Title: "Gut IO::Handle::DESTROY" + From: Chip Salzenberg + Files: ext/IO/lib/IO/Handle.pm + + Title: "RiscOS is case-insensitive" + From: Chip Salzenberg + Files: lib/File/Basename.pm + + TESTS + + Title: "Fix thinko in db-recno.t" + From: Chip Salzenberg + Files: t/lib/db-recno.t + + UTILITIES + + Title: "Make perlbug more cautionary and more verbose" + From: Kenneth Albanowski and Jarkko Hietaniemi + Files: utils/perlbug.PL + + DOCUMENTATION + + Title: "NEW roffitall + INSTALL fix" + From: Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com> + Msg-ID: <6058.853410121@lyon.grenoble.hp.com> + Date: Thu, 16 Jan 97 11:22:01 +0100 + Files: INSTALL pod/roffitall + + Title: "srand() doc update" + From: Roderick Schertler + Msg-ID: <24195.853379065@eeyore.ibcinc.com> + Date: Wed, 15 Jan 1997 20:44:25 -0500 + Files: pod/perlfunc.pod + + Title: "documentation of configpm (perl5.003_20)" + From: win@in.rhein-main.de (Winfried Koenig) + Msg-ID: <m0vkU40-0004WAC@incom.rhein-main.de> + Date: Wed, 15 Jan 1997 14:03:27 +0200 (EET) + Files: configpm + + +---------------- +Version 5.003_21 +---------------- + +This release includes several important bug fixes, and a couple of +minor but valuable language tweaks. Please read on for a list of the +significant changes: + + CORE LANGUAGE CHANGES + + Title: "Fix overloading via inherited autoloaded functions" + From: Ilya Zakharevich + Msg-ID: <199701131022.FAA22830@monk.mps.ohio-state.edu> + Date: Mon, 13 Jan 1997 05:22:47 -0500 (EST) + Files: gv.c lib/overload.pm pod/perldiag.pod t/pragma/overload.t + + Title: "Method call fixes: Don't cache in alias, don't skip undef" + From: Chip Salzenberg + Files: global.sym gv.c gv.h hv.c op.c pod/perlguts.pod + pod/perltoc.pod pp.c pp_ctl.c pp_hot.c proto.h scope.c sv.c + t/op/method.t + + Title: "Formats can be closures" + From: Chip Salzenberg + Files: cv.h op.c perly.c perly.c.diff perly.y pp_sys.c sv.h + + Title: "Quote 'foo' in C<$x{-foo}>" + From: Chip Salzenberg + Files: toke.c + + Title: "Forbid C< x->{y} > and C< x->[0] > under C<strict refs>" + From: Chip Salzenberg + Files: op.c pod/perldiag.pod t/pragma/strict-refs + + Title: "Allow <=> to return undef when operands are not ordered" + From: Chip Salzenberg and Andreas Koenig + Files: MANIFEST pp.c t/op/cmp.t + + Title: "Fail regex that starts with '{'" + From: Chip Salzenberg + Files: regcomp.c + + CORE PORTABILITY + + Title: "Re: Perl 5.003_20: OS/2 patches" + From: Ilya Zakharevich + Msg-ID: <199701101102.GAA19051@monk.mps.ohio-state.edu> + Date: Fri, 10 Jan 1997 06:02:16 -0500 (EST) + Files: hints/os2.sh os2/Changes os2/os2.c os2/os2ish.h pp_sys.c + + Title: "VMS patches for _20" + From: Charles Bailey + Msg-ID: <01IE7MGK7ULQ003K5M@hmivax.humgen.upenn.edu> + Date: Tue, 14 Jan 1997 17:34:43 -0500 (EST) + Files: configpm dosish.h os2/os2ish.h plan9/plan9ish.h proto.h + t/pragma/strict.t t/pragma/subs.t t/pragma/warning.t toke.c + unixish.h vms/Makefile vms/config.vms vms/descrip.mms + vms/genconfig.pl vms/perly_c.vms vms/test.com vms/vmsish.h + x2p/a2p.h x2p/str.c + + Title: "Irix 6.3 & 6.4 and perl5.003_20" + From: John Stoffel <jfs@fluent.com> + Msg-ID: <199701132242.RAA14601@jfs.Fluent.COM> + Date: Mon, 13 Jan 1997 17:42:50 -0500 (EST) + Files: MANIFEST hints/irix_6_3.sh hints/irix_6_4.sh + + Title: "Patch: MachTen hints, Configure" + From: Dominic Dunlop <domo@slipper.ip.lu> + Msg-ID: <v03010d00af0123a93670@[194.51.248.75]> + Date: Tue, 14 Jan 1997 13:43:13 +0100 + Files: Configure hints/machten.sh + + Title: "Rename aux.sh to aux_3.sh for MS-LOSS" + From: Chip Salzenberg + Files: MANIFEST hints/aux_3.sh + + OTHER CORE CHANGES + + Title: "Fix C< eval { my $x; eval '$x' } >" + From: Chip Salzenberg + Files: op.c t/op/misc.t + + Title: "Don't warn if eval '' uses outer func's lexicals" + From: Chip Salzenberg + Files: op.c + + Title: "Avoid memory wastage in wait(); make pidstatus global" + From: Chip Salzenberg + Files: global.sym interp.sym perl.c perl.h pp_sys.c + + Title: "Forbid ++ and -- on readonly values" + From: "John Q. Linux" <jql@accessone.com> + Msg-ID: <Pine.LNX.3.95.970110193330.11249D-100000@jql.accessone.com> + Date: Fri, 10 Jan 1997 19:47:16 -0800 (PST) + Files: pp.c pp_hot.c + + Title: "Keep array from dying during foreach(@array)" + From: Chip Salzenberg + Files: cop.h pp_ctl.c + + Title: "Fix C< $a="simple"; split /($a)/o >" + From: Chip Salzenberg + Files: pp.c t/op/misc.t + + Title: "Fix infinite loop for undef function in @SIG{__WARN__,__DIE__}" + From: Chip Salzenberg + Files: util.c + + Title: "Fix for anon-lists with tied entries coredump" + From: Gurusamy Sarathy + Msg-ID: <199701100745.CAA13057@aatma.engin.umich.edu> + Date: Fri, 10 Jan 1997 02:45:11 -0500 + Files: pp.c + + Title: "Don't set SVf_PADBUSY on immortal SVs" + From: Chip Salzenberg + Files: op.c + + Title: "Patch for Object subroutines" + From: Ilya Zakharevich + Msg-ID: <199701080156.UAA15366@monk.mps.ohio-state.edu> + Date: Tue, 7 Jan 1997 20:56:02 -0500 (EST) + Files: cop.h + + Title: "Use an SVt_PVLV to hold stacked OP pointers when debugging" + From: Chip Salzenberg + Files: pp.c pp_hot.c + + Title: "Undo change that freed large pad vars" + From: Chip Salzenberg + Files: scope.c + + BUILD PROCESS + + Title: "Make MachTen hints file warn about db-recno failures" + From: Dominic Dunlop <domo@slipper.ip.lu> + Msg-ID: <v03010d00aef92fba6aca@[194.51.248.78]> + Date: Wed, 8 Jan 1997 12:07:18 +0100 + Files: hints/machten.sh + + Title: "5.003_20, FreeBSD 3.0 and minor patch" + From: roberto@eurocontrol.fr (Ollivier Robert) + Msg-ID: <Mutt.19970108143747.roberto@caerdonn.eurocontrol.fr> + Date: Wed, 8 Jan 1997 14:37:47 +0100 + Files: Configure + + Title: "Make installperl quieter; only shared libraries need 0555" + From: Chip Salzenberg + Files: installperl + + TESTS + + Title: "Advice on TEST failure" + From: Dominic Dunlop <domo@slipper.ip.lu> + Msg-ID: <v03010d01aefbaefcf3bc@[194.51.248.78]> + Date: Fri, 10 Jan 1997 10:19:07 +0100 + Files: t/TEST + + Title: "UNIVERSAL tests" + From: Roderick Schertler + Files: MANIFEST t/op/universal.t + + Title: "Test deletion of array during foreach" + From: Jarkko Hietaniemi + Files: t/op/misc.t + + Title: "patch for db-recno.t" + From: Paul Marquess + Msg-ID: <9701121509.AA11147@claudius.bfsec.bt.co.uk> + Date: Sun, 12 Jan 1997 15:09:33 +0000 (GMT) + Files: t/lib/db-recno.t + + LIBRARY AND EXTENSIONS + + Title: "Localize info about filesystems being case-forgiving" + From: Chip Salzenberg + Files: lib/File/Basename.pm 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 + x2p/find2perl.PL x2p/s2p.PL + + Title: "Fix for fd leak in IO::File::new_tmpfile" + From: Graham Barr and Chip Salzenberg + Files: ext/IO/IO.xs ext/IO/lib/IO/Handle.pm + + Title: "Refresh Getopt::Long to 2.6" + From: Johan Vromans <jvromans@squirrel.nl> + Files: lib/Getopt/Long.pm + + Title: "Refresh DB_File to 1.10" + From: Paul Marquess + Msg-ID: <9701141247.AA21242@claudius.bfsec.bt.co.uk> + Date: Tue, 14 Jan 97 12:47:40 GMT + Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs + + Title: "Re: FileCache::cacheout clobbers $_" + From: Roderick Schertler + Msg-ID: <pz3ewb3189.fsf@eeyore.ibcinc.com> + Date: 08 Jan 1997 23:45:58 -0500 + Files: lib/FileCache.pm lib/cacheout.pl + + Title: "PATCH: AutoSplit" + From: Graham Barr + Msg-ID: <9603111010.AA29935@tiuk.ti.com> + Date: 11 Mar 1996 06:01:58 -0500 + Files: lib/AutoSplit.pm + + Title: "Re: Uninitialized value in Carp.pm ? " + From: Gurusamy Sarathy + Msg-ID: <199701141815.NAA07960@aatma.engin.umich.edu> + Date: Tue, 14 Jan 1997 13:15:25 -0500 + Files: lib/Carp.pm + + Title: "Avoid "uninitialized" warnings from POSIX::constant()" + From: Chip Salzenberg + Files: ext/POSIX/POSIX.pm + + Title: "Eliminate warning from C<use overload>" + From: Chip Salzenberg + Files: lib/overload.pm + + Title: "low priority patches" + From: Paul Marquess + Msg-ID: <9701081655.AA27349@claudius.bfsec.bt.co.uk> + Date: Wed, 8 Jan 97 16:55:02 GMT + Files: lib/Cwd.pm t/comp/redef.t t/lib/db-btree.t + + UTILITIES + + Title: "Re: xsubpp and Tk ==> segfault" + From: Ilya Zakharevich + Msg-ID: <199701080825.DAA15813@monk.mps.ohio-state.edu> + Date: Wed, 8 Jan 1997 03:25:47 -0500 (EST) + Files: lib/ExtUtils/xsubpp + + Title: "Re: MakeMaker and 'make uninstall'" + From: Andreas Koenig + Msg-ID: <199701101243.NAA26400@anna.in-berlin.de> + Date: Fri, 10 Jan 1997 13:43:39 +0100 + Files: lib/ExtUtils/MM_Unix.pm + + Title: "Don't search for pod if path is already valid" + From: Wayne Scott <wscott@ichips.intel.com> + Msg-ID: <199701082325.PAA04521@pdxlx008.intel.com> + Date: Wed, 08 Jan 1997 15:25:19 -0800 + Files: utils/perldoc.PL + + Title: "Yet another perldoc option" + From: Gisle Aas + Msg-ID: <199610022200.AAA15334@furubotn.sn.no> + Date: Thu, 3 Oct 1996 00:00:35 +0200 + Files: utils/perldoc.PL + + Title: "Re: perldoc, temp files, async pagers" + From: Roderick Schertler + Msg-ID: <pzwwtoom8p.fsf@eeyore.ibcinc.com> + Date: 07 Jan 1997 22:54:14 -0500 + Files: utils/perldoc.PL + + DOCUMENTATION + + Title: "Full documentation generation patch" + From: Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com> + Msg-ID: <15309.853323388@lyon.grenoble.hp.com> + Date: Wed, 15 Jan 97 11:16:28 +0100 + Files: MANIFEST pod/roffitall pod/rofftoc + + Title: "Re: documentation correction (i.e. patch) for perlsyn.pod" + From: "M.J.T. Guy" + Msg-ID: <E0vilLh-0000M6-00@ursa.cus.cam.ac.uk> + Date: Fri, 10 Jan 1997 18:06:37 +0000 + Files: pod/perlsyn.pod + + Title: "Document use of pos() and /\G/" + From: Gurusamy Sarathy + Msg-ID: <199701132013.PAA26606@aatma.engin.umich.edu> + Date: Mon, 13 Jan 1997 15:13:12 -0500 + Files: pod/perlfunc.pod pod/perlnews.pod pod/perlop.pod + pod/perlre.pod pod/perltoc.pod pod/perltrap.pod + + Title: "Fix example #4 in perlXStut" + From: Ilya Zakharevich + Msg-ID: <199701050739.CAA11112@monk.mps.ohio-state.edu> + Date: Sun, 5 Jan 1997 02:39:45 -0500 (EST) + Files: pod/perlxstut.pod + + Title: "Document new closure warnings" + From: Chip Salzenberg + Files: op.c pod/perldiag.pod + + Title: "Misc. doc patches missing in _20" + From: Roderick Schertler + Msg-ID: <102.852695733@eeyore.ibcinc.com> + Date: Tue, 07 Jan 1997 22:55:33 -0500 + Files: pod/perlsub.pod pod/perltoc.pod pod/perlvar.pod + + +---------------- +Version 5.003_20 +---------------- + +The only language change in this release is the recension of support +for named closures: Now, no subroutine declared "sub foo {}" can be +a closure. (This is a return to the behavior of 5.003.) In addition, +there are new warnings triggered by any apparent attempt to use named +functions as closures. + +And, as usual, there are the usual little fixes, documentation +updates, and expanded tests. This is good stuff. "I love you, man!" + + CORE LANGUAGE CHANGES + + Title: "Rescind named closures" + From: Chip Salzenberg + Files: Makefile.SH op.c perly.c perly.c.diff perly.y pp_hot.c + + Title: "Fix: empty @_ when calling empty-proto subs without parens" + From: Graham Barr + Msg-ID: <32CE30F0.7E8425A5@tiuk.ti.com> + Date: Sat, 04 Jan 1997 10:29:04 +0000 + Files: perly.c perly.y + + CORE PORTABILITY + + Title: "Fix $^X on systems that set it to Perl's basename" + From: Chip Salzenberg + Files: hints/hpux.sh toke.c + + Title: "Configure/perl5/Compartmented Mode Workstation (fwd)" + From: Andy Dougherty + Msg-ID: <Pine.SOL.3.95.970106131505.1662C-100000@fractal.lafayette.ed + Date: Mon, 06 Jan 1997 13:15:38 -0500 (EST) + Files: Configure hints/dec_osf.sh + + Title: "Remove obsolete file "dl_os2.xs"." + From: Ilya Zakharevich + Files: MANIFEST + + OTHER CORE CHANGES + + Title: "Fix C< sub foo (&@); sub bar (&); foo {}, bar {}, bar {} >" + From: Chip Salzenberg + Files: perly.c perly.c.diff perly.y + + Title: "plug for safe/opcode leaks" + From: Doug MacEachern + Msg-ID: <199701072220.RAA02117@postman.osf.org> + Date: Tue, 07 Jan 1997 17:20:46 -0500 + Files: op.c + + Title: "Finish OP= warnings: none on ^=" + From: Chip Salzenberg + Files: doop.c pp.c t/op/assignwarn.t + + Title: "Fix Dynaloader failures with DProf" + From: Gurusamy Sarathy + Msg-ID: <199701061718.MAA26909@aatma.engin.umich.edu> + Date: Mon, 06 Jan 1997 12:18:46 -0500 + Files: pp_hot.c + + BUILD PROCESS + + Title: "Make Configure default to the first domain in /etc/resolv.conf" + From: Chip Salzenberg + Files: Configure + + Title: "Start all helper scripts with $startsh" + From: Chip Salzenberg + Files: Configure + + Title: "Support libperl.so under FreeBSD" + From: roberto@keltia.freenix.fr (Ollivier Robert) + Msg-ID: <Mutt.19970105224149.roberto@keltia.freenix.fr> + Date: Sun, 5 Jan 1997 22:41:49 +0100 + Files: Configure Makefile.SH + + TESTS + + Title: "New test: comp/proto.t" + From: Graham Barr + Msg-ID: <32D0C21F.3FB28D51@tiuk.ti.com> + Date: Mon, 06 Jan 1997 09:13:03 +0000 + Files: MANIFEST t/comp/proto.t + + Title: "More magic variable tests" + From: Roderick Schertler + Msg-ID: <7043.852565192@eeyore.ibcinc.com> + Date: Mon, 06 Jan 1997 10:39:52 -0500 + Files: t/harness t/op/magic.t + + LIBRARY AND EXTENSIONS + + Title: "File::Basename::dirname bugs" + From: Robin Barker <rmb@cise.npl.co.uk> + Msg-ID: <12393.9701071719@tempest.cise.npl.co.uk> + Date: Tue, 7 Jan 97 17:19:59 GMT + Files: lib/File/Basename.pm t/lib/basename.t + + Title: "sigaction() problems" + From: Roderick Schertler + Msg-ID: <12808.852583324@eeyore.ibcinc.com> + Date: Mon, 06 Jan 1997 15:42:04 -0500 + Files: ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod + + Title: "Fix importation of FileHandle methods; fix POSIX docs" + From: Chip Salzenberg + Files: ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod lib/FileHandle.pm + + Title: "Patch: make hints files warn about db-recno failures" + From: Dominic Dunlop <domo@slipper.ip.lu> + Msg-ID: <v03010d00aef53ac4d18a@[194.51.248.68]> + Date: Sun, 5 Jan 1997 12:34:25 +0100 + Files: MANIFEST hints/aux.sh hints/broken-db.msg hints/freebsd.sh + + UTILITIES + + Title: "pod2html.PL patch (for 5.003-19)" + From: Fabien TASSIN <tassin@eerie.fr> + Msg-ID: <199701052347.AAA21297@solar5> + Date: Mon, 6 Jan 1997 00:47:01 +0100 + Files: pod/pod2html.PL + + DOCUMENTATION + + Title: "tiny doc patches" + From: Roderick Schertler + Msg-ID: <23338.852394333@eeyore.ibcinc.com> + Date: Sat, 04 Jan 1997 11:12:13 -0500 + Files: pod/perlapio.pod pod/perlnews.pod pod/perltoc.pod + + Title: "doc patch for defined on perlfunc.pod" + From: Roderick Schertler + Msg-ID: <pz91686ek1.fsf@eeyore.ibcinc.com> + Date: 04 Jan 1997 21:28:30 -0500 + Files: pod/perlfunc.pod + + Title: "doc patch: perldsc" + From: Roderick Schertler + Msg-ID: <pzafqo6eo9.fsf@eeyore.ibcinc.com> + Date: 04 Jan 1997 21:25:58 -0500 + Files: pod/perldsc.pod pod/perltoc.pod + + Title: "Re: constant function inlining" + From: Roderick Schertler + Msg-ID: <pzk9pp1b95.fsf@eeyore.ibcinc.com> + Date: 07 Jan 1997 15:27:50 -0500 + Files: pod/perldiag.pod pod/perlsub.pod + + Title: "scalar caller doc fix" + From: Roderick Schertler + Msg-ID: <18245.852608060@eeyore.ibcinc.com> + Date: Mon, 06 Jan 1997 22:34:20 -0500 + Files: pod/perlfunc.pod + + Title: "perlpod.pod possible patches" + From: lvirden@cas.org (Larry W. Virden, x2487) + Msg-ID: <9701070756.AA1185@cas.org> + Date: Tue, 7 Jan 1997 07:56:30 -0500 + Files: pod/perlpod.pod + + Title: "Misc perlfunc updates" + From: Tom Christiansen + Files: pod/perlfunc.pod pod/perltoc.pod + + +---------------- +Version 5.003_19 +---------------- + +Lots of internal cleanup in this patch, especially plugged memory +leaks when embedded Perl interpreters shut down and restart. The +method cache is now invisible to user code. And there is a new test +directory, "t/pragma". + +IMHO, this is Beta quality code. + +Here's a list of the more significant changes... + + CORE LANGUAGE CHANGES + + Title: "Make method cache invisible to user code" + From: Chip Salzenberg + Files: dump.c gv.c gv.h hv.c op.c perl.c pp_hot.c pp_sys.c sv.c + toke.c + + Title: "Never parse "{m,s,y,tr,q{,q,w,x}}:{,:}" as package or label" + From: Chip Salzenberg + Files: toke.c + + CORE PORTABILITY + + Title: "Fix $^X under HP-UX" + From: Chip Salzenberg + Files: hints/hpux.sh toke.c + + Title: "New hints/hpux.sh" + From: Jeff Okamoto + Msg-ID: <199612312309.AA283393772@hpcc123.corp.hp.com> + Date: Tue, 31 Dec 1996 15:09:32 -0800 + Files: hints/hpux.sh + + OTHER CORE CHANGES + + Title: "Fix segv when calling named closures" + From: Chip Salzenberg + Files: pp_hot.c + + Title: "Finish rationalizing "undef value" warnings" + From: Chip Salzenberg + Files: doop.c pp.c sv.c t/op/assignwarn.t + + Title: "Arrange for all "_<file" entries to be in %main::" + From: Chip Salzenberg + Files: gv.c lib/perl5db.pl + + Title: "Introduce CVf_NODEBUG flag" + From: Gurusamy Sarathy + Msg-ID: <199701012042.PAA25994@aatma.engin.umich.edu> + Date: Wed, 01 Jan 1997 15:42:05 -0500 + Files: cv.h pp_hot.c + + Title: "Reword 'may be "0"' warning per Larry; fix its line number" + From: Chip Salzenberg + Files: op.c pod/perldiag.pod + + Title: "5.003_18: perl_{con,des}truct fixes" + From: Doug MacEachern + Msg-ID: <199701032042.PAA06766@postman.osf.org> + Date: Fri, 03 Jan 1997 15:42:04 -0500 + Files: perl.c perl.h pod/perlembed.pod pod/perltoc.pod t/op/sysio.t + + Title: "Fix lost value from READLINE after TIEHANDLE" + From: Gurusamy Sarathy + Files: pp_hot.c sv.h + + Title: "Free memory of large lexical variables when leaving scope" + From: Chip Salzenberg + Files: scope.c + + TESTS + + Title: "Create t/pragma directory; populate with new and old" + From: Paul Marquess + Files: MANIFEST Makefile.SH t/TEST t/comp/use.t t/lib/locale.t + t/op/overload.t t/op/use.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-global + t/pragma/warning.t + + Title: "New tests: comp/colon.t and op/assignwarn.t" + From: Robin Barker <rmb@cise.npl.co.uk> + Files: MANIFEST t/comp/colon.t t/op/assignwarn.t + + LIBRARY AND EXTENSIONS + + Title: "Make libs clean under '-w'" + From: Jarkko Hietaniemi + Files: lib/AutoSplit.pm lib/Devel/SelfStubber.pm lib/Env.pm + lib/Math/Complex.pm lib/Pod/Functions.pm lib/Search/Dict.pm + lib/SelfLoader.pm lib/Term/Complete.pm lib/chat2.pl + lib/complete.pl lib/diagnostics.pm lib/ftp.pl lib/termcap.pl + lib/validate.pl + + DOCUMENTATION + + Title: "Perlguts, version 28" + From: Jeff Okamoto + Msg-ID: <199701032110.AA102535846@hpcc123.corp.hp.com> + Date: Fri, 3 Jan 1997 13:10:46 -0800 + Files: pod/perlguts.pod + + Title: "Re: perldelta, take 3" + From: Tim Bunce + Msg-ID: <9701031748.AA15335@toad.ig.co.uk> + Date: Fri, 3 Jan 1997 17:48:46 +0000 + Files: pod/perlnews.pod + + Title: "Miscellaneous pod patches" + From: Ralf S. Engelschall <rse@engelschall.com> + Files: pod/Makefile pod/perldebug.pod pod/perlfunc.pod + pod/perlguts.pod + + Title: "expanded flock() docs" + From: Roderick Schertler + Msg-ID: <4481.852337871@eeyore.ibcinc.com> + Date: Fri, 03 Jan 1997 19:31:11 -0500 + Files: pod/perlfunc.pod + + Title: "Use Text::Wrap in buildtoc; run buildtoc" + From: Ulrich Pfeifer + Files: pod/buildtoc pod/perltoc.pod + + Title: "Remove obsolete perlovl.pod" + From: Chip Salzenberg + Files: MANIFEST plan9/mkfile pod/perlovl.pod vms/Makefile + vms/descrip.mms + + +---------------- +Version 5.003_18 +---------------- + +Yet further down the road to 5.004.... + + CORE LANGUAGE CHANGES + + Title: "Inherited overloading" + From: Ilya Zakharevich + Msg-ID: <199612291312.IAA02134@monk.mps.ohio-state.edu> + Date: Sun, 29 Dec 1996 08:12:54 -0500 (EST) + Files: gv.c lib/overload.pm perl.h sv.c sv.h t/op/overload.t + + Title: "Hide lexicals from C<use>d or C<require>d module (!)" + From: Chip Salzenberg + Files: pp_ctl.c + + Title: "Closures at file scope must be anonymous" + From: Chip Salzenberg + Files: op.c + + Title: "Warn on '{if,while} ($x = X)' where X is glob, readdir, or <FH>" + From: Chip Salzenberg + Files: op.c pod/perldiag.pod + + Title: "Warn on 'undef $x; $x OP 1' where OP is *=, /=, %=, or **=" + From: Chip Salzenberg + Files: pp.c + + CORE PORTABILITY + + Title: "Ultrix setlocale() workaround" + From: Chip Salzenberg + Files: hints/ultrix_4.sh util.c + + OTHER CORE CHANGES + + Title: "Get rid of 'Leaked scalars'" + From: Chip Salzenberg + Files: cop.h gv.c op.c + + Title: "Don't forget $c in C<(($a,$b,$c)=(1,2))=(3,4,5)>" + From: Chip Salzenberg + Files: pp_hot.c + + Title: "Fix core dump on perl_construct()/perl_destruct() loop" + From: Chip Salzenberg + Files: perl.c + + Title: "Add missing syms to global.sym; update magic doc" + From: Chip Salzenberg + Files: global.sym pod/perlguts.pod + + TESTS + + Title: "Expanded locale.t and misc.t" + From: Jarkko Hietaniemi + Files: t/lib/locale.t t/lib/misc.t + + Title: "Expanded my.t" + From: Chip Salzenberg + Files: t/lib/my.t + + Title: "test harness for C<use x.xxxx>" + From: Graham Barr + Msg-ID: <32C76882.3F3C7999@tiuk.ti.com> + Date: Mon, 30 Dec 1996 07:00:18 +0000 + Files: MANIFEST t/op/use.t + + Title: "More tests" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.95.961229170736.15213M-100000@solaris.teleport.co + Date: Sun, 29 Dec 1996 17:46:21 -0800 (PST) + Files: t/op/each.t t/op/oct.t t/op/quotemeta.t t/op/rand.t + + LIBRARY AND EXTENSIONS + + Title: "Improving Config.pm" + From: Tom Phoenix + Msg-ID: <Pine.GSO.3.95.961230091244.13467L-100000@solaris.teleport.co + Date: Mon, 30 Dec 1996 09:24:16 -0800 (PST) + Files: configpm + + Title: "File::Copy under OS/2" + From: Ilya Zakharevich + Msg-ID: <199612280347.WAA00293@monk.mps.ohio-state.edu> + Date: Fri, 27 Dec 1996 22:47:24 -0500 (EST) + Files: lib/File/Copy.pm t/lib/filecopy.t + + DOCUMENTATION + + Title: "Updates to perllocale.pod" + From: Dominic Dunlop <domo@slipper.ip.lu> + Files: pod/perllocale.pod + + Title: "Locale-related pod patches, take 2" + From: Dominic Dunlop <domo@slipper.ip.lu> + Msg-ID: <v03007800aeea9e488b36@[194.51.248.77]> + Date: Sat, 28 Dec 1996 10:56:41 +0100 + Files: pod/perl.pod pod/perlform.pod pod/perlfunc.pod pod/perlop.pod + pod/perlre.pod pod/perlsec.pod + + Title: "Re: perldiag.pod entry for "Scalar value @%s{%s} ..."" + From: Roderick Schertler + Msg-ID: <2043.852051019@eeyore.ibcinc.com> + Date: Tue, 31 Dec 1996 11:50:19 -0500 + Files: pod/perldiag.pod + + +---------------- +Version 5.003_17 +---------------- + +The rate of patches is slowing down.... I see 5.004 at the end of the +tunnel! (Hey, what's that whistle?) + + CORE LANGUAGE CHANGES + + Title: "Support named closures" + From: Chip Salzenberg + Files: cv.h op.c perl.c pp.c pp_ctl.c pp_hot.c + + CORE PORTABILITY + + Title: "perl5.003_15 and Interactive Unix" + From: win@in.rhein-main.de (Winfried Koenig) + Msg-ID: <m0vd254-0004oKC@incom.rhein-main.de> + Date: Thu, 26 Dec 1996 00:45:45 +0200 (EET) + Files: hints/isc.sh pp_sys.c + + Title: "Suggest "usemymalloc='n'" for FreeBSD 2.*" + From: rse@engelschall.com (Ralf S. Engelschall) + Files: hints/freebsd.sh + + Title: "Minor OS/2 fixes" + From: Ilya Zakharevich + Msg-ID: <199612252105.QAA11890@monk.mps.ohio-state.edu> + Date: Wed, 25 Dec 1996 16:05:42 -0500 (EST) + Files: os2/os2ish.h pod/perlxstut.pod + + OTHER CORE CHANGES + + Title: "Fix {,un}tainting of $1 etc. when C<use locale>" + From: Chip Salzenberg + Files: mg.c sv.c + + Title: "Limit effects of "=pod" to a single file" + From: Chip Salzenberg + Files: toke.c + + TESTS + + Title: "New tests: op/method.t and op/locale.t" + From: Ilya Zakharevich and Jarkko Hietaniemi + Files: MANIFEST t/lib/locale.t t/op/method.t + + Title: "Test C< ()=() >" + From: Chip Salzenberg + Files: t/op/misc.t + + LIBRARY AND EXTENSIONS + + Title: "Refresh MakeMaker to 5.39" + From: Andreas Koenig + Files: lib/ExtUtils/Install.pm lib/ExtUtils/Liblist.pm + lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm + lib/ExtUtils/Mksymlists.pm + + Title: "Newer debugger" + From: Ilya Zakharevich + Msg-ID: <199612261954.OAA12999@monk.mps.ohio-state.edu> + Date: Thu, 26 Dec 1996 14:54:34 -0500 (EST) + Files: lib/perl5db.pl + + DOCUMENTATION + + Title: "Perlguts, version 27" + From: Jeff Okamoto + Msg-ID: <199612250144.AA059528263@hpcc123.corp.hp.com> + Date: Tue, 24 Dec 1996 17:44:23 -0800 + Files: pod/perlguts.pod + + Title: "perlpod.pod patch for _16" + From: Kenneth Albanowski + Msg-ID: <Pine.LNX.3.93.961224225906.337B-100000@kjahds.com> + Date: Tue, 24 Dec 1996 23:00:10 -0500 (EST) + Files: pod/perlpod.pod + + Title: "tiny perllocale.pod diff for _16" + From: Jarkko Hietaniemi + Msg-ID: <199612261306.PAA21161@alpha.hut.fi> + Date: Thu, 26 Dec 1996 15:06:04 +0200 (EET) + Files: pod/perllocale.pod + + +---------------- +Version 5.003_16 +---------------- + +This patch is all bug fixes, library updates, and documentation +updates. We'll get to 5.004 RSN, I promise. :-) + + CORE LANGUAGE CHANGES + + Title: "Fix closures that are not in subroutines" + From: Chip Salzenberg + Files: op.c + + CORE PORTABILITY + + Title: "_13: patches for unicos/unicosmk" + From: Dean Roehrich + Msg-ID: <199612202038.OAA22805@poplar.cray.com> + Date: Fri, 20 Dec 1996 14:38:50 -0600 + Files: Configure MANIFEST hints/unicos.sh hints/unicosmk.sh + + OTHER CORE CHANGES + + Title: "Fix 'foreach(@ARGV) { while (<>) { push @p,$_ } }'" + From: Chip Salzenberg + Files: cop.h pp_hot.c scope.c + + Title: "Eliminate warnings from C< undef $x; $x OP= "foo" >" + From: Chip Salzenberg + Files: doop.c pp.c pp.h pp_hot.c + + Title: "Try again to improve method caching" + From: Ilya Zakharevich + Msg-ID: <199612240113.UAA09487@monk.mps.ohio-state.edu> + Date: Mon, 23 Dec 1996 20:13:56 -0500 (EST) + Files: gv.c sv.c + + Title: "Be more careful about 'o' magic memory management" + From: Chip Salzenberg + Files: mg.c sv.c + + Title: "Fix bad pointer refs when localized object loses magic" + From: Chip Salzenberg + Files: scope.c + + LIBRARY AND EXTENSIONS + + Title: "Refresh CPAN to 1.09" + From: Andreas Koenig + Files: lib/CPAN.pm + + Title: "Refresh Net::Ping to 2.02" + From: Russell Mosemann <mose@ccsn.edu> + Files: lib/Net/Ping.pm + + Title: "Refresh IO to 1.14" + From: Graham Barr + Files: MANIFEST ext/IO/IO.xs 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_dup.t t/lib/io_pipe.t + t/lib/io_sel.t t/lib/io_sock.t t/lib/io_tell.t + t/lib/io_udp.t t/lib/io_xs.t + + BUILD PROCESS AND UTILITIES + + Title: "Don't recurse into subdirs twice on 'make realclean'" + From: Chip Salzenberg + Files: Makefile.SH + + Title: "Use root EXTERN.h when compiling x2p/malloc.c." + From: Paul Marquess + Files: x2p/Makefile.SH + + Title: "Fix compilation errors when malloc.c used for x2p" + From: Robin Barker <rmb@cise.npl.co.uk> + Files: malloc.c + + DOCUMENTATION + + Title: "Edit INSTALL to describe new binary compat setup" + From: Chip Salzenberg + Files: INSTALL + + Title: "Update to perllocale.pod" + From: Jarkko Hietaniemi + Files: pod/perllocale.pod + + +---------------- +Version 5.003_15 +---------------- + +As soon as I posted 5.003_14, I found a fatal error in it. :-( + +This release is strictly a bug fix -- it removes some function caching +changes that were supposed to be improvements, but weren't. + + +---------------- +Version 5.003_14 +---------------- + +We seem to have achieved "release candidate" status. + + CORE LANGUAGE CHANGES + + Title: "Eliminate support for {if,unless,while,until} BLOCK BLOCK" + From: Chip Salzenberg + Files: perly.c perly.c.diff perly.y toke.c + + Title: "Taint $x after $x =~ s/pat/xyz/ if pat or xyz is tainted by locale" + From: Chip Salzenberg + Files: cop.h mg.c pp_ctl.c pp_hot.c + + Title: "Complete support for modifying undefined array members in foreach" + From: Chip Salzenberg + Files: global.sym mg.c perl.h pp.c pp_hot.c proto.h sv.c + + OTHER CORE CHANGES + + Title: "patch for regex bug: (x|x){n}" + From: Gurusamy Sarathy + Msg-ID: <199612210259.VAA10170@aatma.engin.umich.edu> + Date: Fri, 20 Dec 1996 21:59:22 -0500 + Files: regexec.c + + Title: "Bug in debugger with import manipulations" + From: Ilya Zakharevich + Msg-ID: <199612231037.FAA08617@monk.mps.ohio-state.edu> + Date: Mon, 23 Dec 1996 05:37:48 -0500 (EST) + Files: pp_hot.c + + Title: "Import and dynamic methods" + From: Ilya Zakharevich + Msg-ID: <199612230645.BAA08378@monk.mps.ohio-state.edu> + Date: Mon, 23 Dec 1996 01:45:37 -0500 (EST) + Files: gv.c hv.c sv.c + + Title: "malloc.c patch" + From: Ilya Zakharevich + Msg-ID: <199612220748.CAA07164@monk.mps.ohio-state.edu> + Date: Sun, 22 Dec 1996 02:48:58 -0500 (EST) + Files: malloc.c + + Title: "sv_gets patch" + From: Ilya Zakharevich + Msg-ID: <199612220824.DAA07235@monk.mps.ohio-state.edu> + Date: Sun, 22 Dec 1996 03:24:04 -0500 (EST) + Files: pp_hot.c + + Title: "pos $str patch" + From: Ilya Zakharevich + Msg-ID: <199612220831.DAA07247@monk.mps.ohio-state.edu> + Date: Sun, 22 Dec 1996 03:31:21 -0500 (EST) + Files: mg.c pp_hot.c t/op/pat.t + + Title: "Prevent warnings when STDCHAR is unsigned" + From: Chip Salzenberg + Files: perlio.c perlio.h + + PORTABILITY + + Title: "Fix bugs in bincompat3 usage" + From: Chip Salzenberg + Files: perl.h perl_exp.SH + + Title: "Support shared libperl on SunOS" + From: Ulrich Pfeifer + Files: Makefile.SH + + Title: "Configure on OS/2" + From: Ilya Zakharevich + Msg-ID: <199612202325.SAA05505@monk.mps.ohio-state.edu> + Date: Fri, 20 Dec 1996 18:25:30 -0500 (EST) + Files: Configure + + Title: "Fixes for Interactive Unix" + From: win@in.rhein-main.de (Winfried Koenig) + Msg-ID: <m0vbeNO-00003WC@incom.rhein-main.de> + Date: Sun, 22 Dec 96 05:14 EET + Files: hints/isc.sh op.c pp_sys.c universal.c + + Title: "Use "proto" instead of "_" in sdbm.h" + From: Chip Salzenberg + Files: ext/SDBM_File/sdbm/sdbm.h + + Title: "VMS patches to 5.003_13" + From: Charles Bailey + Msg-ID: <01IDBYYFYPIS002ASE@hmivax.humgen.upenn.edu> + Date: Mon, 23 Dec 1996 01:26:47 -0500 (EST) + Files: deb.c ext/POSIX/POSIX.xs gv.c lib/File/Copy.pm mg.c perl.c + perl.h proto.h sv.c t/lib/filecopy.t taint.c toke.c util.c + vms/Makefile vms/config.vms vms/descrip.mms + vms/gen_shrfls.pl vms/genconfig.pl vms/genopt.com + vms/perly_c.vms vms/perly_h.vms vms/test.com vms/vms.c + vms/vms_yfix.pl + + UTILITIES, LIBRARY, AND EXTENSIONS + + Title: "Remove libnet" + From: Chip Salzenberg + Files: MANIFEST pod/perlmod.pod + + Title: "Refresh CPAN module to 1.08" + From: Chip Salzenberg + Files: lib/CPAN.pm lib/CPAN/FirstTime.pm + + Title: "Refresh ExtUtils::Manifest to version 1.28" + From: Andreas Koenig + Files: lib/ExtUtils/Manifest.pm + + Title: "Update IO->VERSION() to 1.1201 for CPAN's sake" + From: Chip Salzenberg + Files: ext/IO/lib/IO/Handle.pm lib/IO/Handle.pm + + Title: "Remodel File::Copy." + From: Chip Salzenberg + Files: lib/File/Copy.pm + + Title: "dumb bug in User::pwent.pm" + From: Tom Christiansen + Msg-ID: <199612201145.EAA27860@mox.perl.com> + Date: Fri, 20 Dec 1996 04:45:37 -0700 + Files: lib/User/pwent.pm + + DOCUMENTATION + + Title: "Better support for =for" + From: Kenneth Albanowski + Msg-ID: <Pine.LNX.3.93.961220163747.298T-100000@kjahds.com> + Date: Fri, 20 Dec 1996 16:43:35 -0500 (EST) + Files: lib/Pod/Text.pm pod/pod2latex.PL pod/pod2man.PL + + Title: "perllocale.pod -- second draft" + From: Dominic Dunlop <domo@slipper.ip.lu> + Msg-ID: <v03007800aee1923e30a2@[194.51.248.68]> + Date: Sat, 21 Dec 1996 15:00:50 +0100 + Files: pod/perllocale.pod + + Title: "Perlguts, version 26" + From: Jeff Okamoto + Msg-ID: <199612201943.AA048111018@hpcc123.corp.hp.com> + Date: Fri, 20 Dec 1996 11:43:38 -0800 + Files: pod/perlguts.pod + + Title: "Update pod/Makefile; s/perli18n/perllocale/" + From: Chip Salzenberg + Files: ext/POSIX/POSIX.pod lib/I18N/Collate.pm pod/Makefile + pod/perl.pod pod/perlmod.pod pod/perlnews.pod pod/roffitall + + Title: "obstruct pod2man doc tweaks" + From: Roderick Schertler + Msg-ID: <3923.851106237@eeyore.ibcinc.com> + Date: Fri, 20 Dec 1996 13:23:57 -0500 + Files: lib/Class/Template.pm lib/Time/tm.pm + + +---------------- +Version 5.003_13 +---------------- + +The watchword here is "synchronization." There were a couple of +show-stopper bugs in 5.003_12, so I'm issuing this patch to bring +everyone up to a common working base. + + CORE LANGUAGE CHANGES + + Title: "Disallow labels named q, qq, qw, qx, s, y, and tr" + From: Chip Salzenberg + Files: toke.c + + Title: "Make evals' lexicals visible to nested evals" + From: Chip Salzenberg + Files: pp_ctl.c + + OTHER CORE CHANGES + + Title: "Fix core dump bug with anoncode" + From: Chip Salzenberg + Files: op.c + + Title: "Allow DESTROY to make refs to dying objects" + From: Chip Salzenberg + Files: sv.c + + PORTABILITY + + Title: "Add missing backslash in Configure" + From: Chip Salzenberg + Files: Configure + + UTILITIES, LIBRARY, AND EXTENSIONS + + Title: "Include libnet-1.01 instead of old Net::FTP" + From: Graham Barr + Files: MANIFEST lib/Net/Cmd.pm lib/Net/Domain.pm + lib/Net/DummyInetd.pm lib/Net/FTP.pm lib/Net/NNTP.pm + lib/Net/Netrc.pm lib/Net/POP3.pm lib/Net/SMTP.pm + lib/Net/SNPP.pm lib/Net/Socket.pm lib/Net/Telnet.pm + lib/Net/Time.pm pod/perlmod.pod + + Title: "Use binmode when doing binary FTP" + From: Ilya Zakharevich + Files: lib/Net/FTP.pm + + Title: "Re: Open3.pm tries to close unopened file handle" + From: Roderick Schertler + Msg-ID: <pzloavmd9h.fsf@eeyore.ibcinc.com> + Date: 18 Dec 1996 22:19:54 -0500 + Files: MANIFEST lib/IPC/Open2.pm lib/IPC/Open3.pm lib/open2.pl + lib/open3.pl pod/perldiag.pod pod/perlfunc.pod t/lib/open2.t + t/lib/open3.t + + Title: "Long-standing problem in Socket module" + From: Spider Boardman + Msg-ID: <199612190418.XAA07291@Orb.Nashua.NH.US> + Date: Wed, 18 Dec 1996 23:18:14 -0500 + Files: Configure Porting/Glossary config_H config_h.SH + ext/Socket/Socket.pm ext/Socket/Socket.xs + + Title: "flock() constants" + From: Roderick Schertler + Msg-ID: <26669.850977437@eeyore.ibcinc.com> + Date: Thu, 19 Dec 1996 01:37:17 -0500 + Files: ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs pod/perlfunc.pod + + Title: "Re: find2perl . -xdev BROKEN still" + From: Roderick Schertler + Msg-ID: <pzvi9yig3h.fsf@eeyore.ibcinc.com> + Date: 19 Dec 1996 12:44:34 -0500 + Files: lib/File/Find.pm lib/find.pl lib/finddepth.pl + + DOCUMENTATION + + Title: "small doc tweaks for _12" + From: Roderick Schertler + Msg-ID: <1826.851011557@eeyore.ibcinc.com> + Date: Thu, 19 Dec 1996 11:05:57 -0500 + Files: lib/UNIVERSAL.pm pod/perldiag.pod pod/perltie.pod + + Title: "Re: missing E<> POD directive in perlpod.pod" + From: Roderick Schertler + Msg-ID: <pzwwueimak.fsf@eeyore.ibcinc.com> + Date: 19 Dec 1996 10:30:43 -0500 + Files: pod/perlpod.pod pod/pod2html.PL + + +---------------- +Version 5.003_12 +---------------- + +This patch is huge. A multitude of bug fixes, new modules (especially +CPAN and Net::FTP), a couple of new Configure variables, updated +docs... it's a long list. And speaking of lists, here's a list of +the more significant changes in 5.003_12: + + CORE LANGUAGE CHANGES + + Title: "Support C<delete @hash{@keys}>" + From: Chip Salzenberg + Files: op.c op.h opcode.pl pod/perldiag.pod pod/perlfunc.pod pp.c + t/op/delete.t + + Title: "Autovivify scalars" + From: Chip Salzenberg + Files: dump.c op.c op.h pp.c pp_hot.c + + Title: "Allow any word, including keyword, as label" + From: Chip Salzenberg + Files: toke.c + + OTHER CORE CHANGES + + Title: "Allow assignment to empty array values during foreach()" + From: Chip Salzenberg + Files: cop.h global.sym mg.c op.c perl.h pp_hot.c proto.h sv.c + + Title: "Fix nested closures" + From: Chip Salzenberg + Files: op.c opcode.pl pp.c pp_ctl.c pp_hot.c + + Title: "Fix core dump on auto-vivification" + From: Chip Salzenberg + Files: pp_hot.c + + Title: "Fix core dump on C<open $undef_var, "X">" + From: Chip Salzenberg + Files: pp_sys.c + + Title: "Fix -T/-B on globs and globrefs" + From: Chip Salzenberg + Files: pp_sys.c + + Title: "Fix memory management of $`, $&, and $'" + From: Chip Salzenberg + Files: pp_hot.c regexec.c + + Title: "Fix paren matching during backtracking" + From: Chip Salzenberg + Files: regexec.c + + Title: "Fix memory leak and std{in,out,err} death in perl_{con,de}str + From: Chip Salzenberg + Files: miniperlmain.c perl.c perl.h sv.c + + Title: "Discard garbage bytes at end of prototype()" + From: Chip Salzenberg + Files: pp.c + + Title: "Fix local($pack::{foo})" + From: Chip Salzenberg + Files: global.sym pp.c pp_hot.c proto.h scope.c + + Title: "Fix for AmigaOS - inplace operation" + From: Norbert Pueschel + Msg-ID: <77724601@Armageddon.meb.uni-bonn.de> + Date: Sun, 08 Dec 1996 15:33:00 +0100 + Files: doio.c + + Title: "Disable warn, die, and parse hooks _before_ global destruction + From: Chip Salzenberg + Files: perl.c + + Title: "Re: Bug in formline " + From: Gurusamy Sarathy + Msg-ID: <199612081958.OAA26025@aatma.engin.umich.edu> + Date: Sun, 08 Dec 1996 14:58:32 -0500 + Files: pp_ctl.c + + Title: "Fix C<@a = ($a,$b,$c,$d) = (1,2)>" + From: Chip Salzenberg + Files: pp_hot.c + + Title: "Fix %ENV assignment when environment starts out empty" + From: Chip Salzenberg + Files: hv.c + + Title: "Properly support and document newRV{,_inc,_noinc}" + From: Chip Salzenberg + Files: global.sym pod/perlguts.pod sv.c sv.h + + Title: "Support SvREADONLY on arrays" + From: Chip Salzenberg + Files: av.c + + Title: "Allow lvalue pos inside recursive function" + From: Chip Salzenberg + Files: op.c pp.c pp_ctl.c pp_hot.c + + PORTABILITY + + Title: "Eliminate PerlIO warnings when setting cnt to -1" + From: Chip Salzenberg + Files: perlio.c + + Title: "Make $privlib contents compatible with 5.003" + From: Chip Salzenberg + Files: INSTALL ext/Opcode/Safe.pm installperl lib/FileHandle.pm + lib/Test/Harness.pm + + Title: "Support $bincompat3 config variable; update metaconfig units" + From: Chip Salzenberg + Files: Configure MANIFEST compat3.sym config_h.SH embed.pl global.sym + old_embed.pl old_global.sym old_perl_exp.SH perl_exp.SH + + Title: "Look for gettimeofday() in Configure" + From: John Hughes <john@AtlanTech.COM> + Msg-ID: <01BBE77A.F6F37F80@malvinas.AtlanTech.COM> + Date: Wed, 11 Dec 1996 15:49:57 +0100 + Files: Configure config_H config_h.SH pp.c + + Title: "Make $startperl a relative path if people want portable scrip + From: Chip Salzenberg + Files: Configure + + Title: "Homogenize use of "eval exec" hack" + From: Chip Salzenberg + Files: Porting/Glossary eg/README eg/nih eg/sysvipc/ipcmsg + eg/sysvipc/ipcsem eg/sysvipc/ipcshm lib/diagnostics.pm + makeaperl.SH pod/checkpods.PL pod/perlrun.pod + 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 x2p/a2py.c + x2p/find2perl.PL x2p/s2p.PL + + Title: "LynxOS support" + From: seibert@Lynx.COM (Greg Seibert) + Msg-ID: <m0vYEsY-0000IZC@kzinti.lynx.com> + Date: Thu, 12 Dec 1996 09:25:00 PST + Files: Configure MANIFEST hints/lynxos.sh t/op/stat.t + + Title: "In Linux hints, set suidsafe=no and dosuid=yes" + From: Chip Salzenberg + Files: hints/linux.sh + + Title: "5.003_11 on UnixWare 2.1.1 - Only one small UnixWare buglet" + From: aburlison@cix.compulink.co.uk (Alan Burlison) + Msg-ID: <memo.453720@cix.compulink.co.uk> + Date: Wed, 11 Dec 96 18:34 GMT0 + Files: hints/svr4.sh + + Title: "Re: db-recno.t failures with _11 on Freebsd 2.1-stable" + From: Roderick Schertler + Msg-ID: <pzohg0r5tr.fsf@eeyore.ibcinc.com> + Date: 11 Dec 1996 18:58:56 -0500 + Files: INSTALL hints/freebsd.sh + + Title: "OS/2 updates from Ilya" + From: Ilya Zakharevich + Files: README.os2 os2/Changes os2/Makefile.SHs os2/os2.c os2/os2ish.h + + Title: "VMS patches to 5.003_11" + From: Charles Bailey + Msg-ID: <01ICTR32LCZG001A1D@hmivax.humgen.upenn.edu> + Date: Mon, 09 Dec 1996 23:16:10 -0500 (EST) + Files: MANIFEST regexec.c t/lib/filehand.t util.c vms/* + + TESTING + + Title: "recurse recurse recurse ..." + From: Jarkko Hietaniemi + Msg-ID: <199612092144.XAA29025@alpha.hut.fi> + Date: Mon, 9 Dec 1996 23:44:27 +0200 (EET) + Files: MANIFEST t/op/recurse.t + + UTILITIES, LIBRARY, AND EXTENSIONS + + Title: "Add CPAN and Net::FTP" + From: Chip Salzenberg + Files: MANIFEST lib/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm + lib/Net/FTP.pm lib/Net/Netrc.pm lib/Net/Socket.pm + pod/perlmod.pod + + Title: "Please update Text::Wrap and Text::Tabs" + From: David Muir Sharnoff <muir@idiom.com> + Msg-ID: <199612180659.WAA24957@idiom.com> + Date: Tue, 17 Dec 1996 22:59:59 -0800 (PST) + Files: lib/Text/Tabs.pm lib/Text/Wrap.pm + + Title: "Add File::Compare" + From: Nick Ing-Simmons + Msg-ID: <199612161844.SAA02152@pluto> + Date: Mon, 16 Dec 1996 18:44:59 GMT + Files: MANIFEST lib/File/Compare.pm pod/perlmod.pod + + Title: "Add Tie::RefHash" + From: Gurusamy Sarathy + Msg-ID: <199612152358.SAA28665@aatma.engin.umich.edu> + Date: Sun, 15 Dec 1996 18:58:08 -0500 + Files: MANIFEST lib/Tie/RefHash.pm pod/perlmod.pod + + Title: "Put "splain" in utils." + From: Chip Salzenberg + Files: Makefile.SH installperl utils/Makefile utils/splain.PL + + Title: "Some h2ph fixes" + From: Jeff Okamoto + Msg-ID: <199612131934.AA289845652@hpcc123.corp.hp.com> + Date: Fri, 13 Dec 1996 11:34:12 -0800 + Files: utils/h2ph.PL + + Title: "xsubpp patch to add #line" + From: Nick Ing-Simmons + Msg-ID: <199612162153.VAA03590@ni-s.u-net.com> + Date: Mon, 16 Dec 1996 21:53:56 GMT + Files: lib/ExtUtils/xsubpp + + Title: "Re: Proposed addition to File::Copy: move" + From: Charles Bailey + Msg-ID: <01ICZBN0LRC8001A1D@hmivax.humgen.upenn.edu> + Date: Sat, 14 Dec 1996 00:27:29 -0500 (EST) + Files: lib/File/Copy.pm t/lib/filecopy.t + + Title: "DB_File 1.09 patch" + From: Paul Marquess + Msg-ID: <9612181037.AA10123@claudius.bfsec.bt.co.uk> + Date: Wed, 18 Dec 96 10:37:58 GMT + Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs + + Title: "Debugger update" + From: Ilya Zakharevich + Msg-ID: <199612111038.FAA24363@monk.mps.ohio-state.edu> + Date: Wed, 11 Dec 1996 05:38:28 -0500 (EST) + Files: lib/perl5db.pl + + DOCUMENTATION + + Title: "Update pods: perldelta -> perlnews, perli18n -> perllocale" + From: Tom Christiansen and Dominic Dunlop + Files: MANIFEST pod/perl.pod pod/perldelta.pod pod/perli18n.pod + pod/perlnews.pod + + Title: "perltoot.pod" + From: Tom Christiansen + Msg-ID: <199612091444.HAA09947@toy.perl.com> + Date: Mon, 09 Dec 1996 07:44:10 -0700 + Files: MANIFEST pod/perltoot.pod + + Title: "Perlguts, version 25" + From: Jeff Okamoto + Msg-ID: <199612061940.AA055461228@hpcc123.corp.hp.com> + Date: Fri, 6 Dec 96 11:40:27 PST + Files: pod/perlguts.pod + + Title: "pod/perlipc.pod patch" + From: d-lewart@uiuc.edu (Daniel S. Lewart) + Msg-ID: <199612090910.CAA20906@mox.perl.com> + Date: Mon, 9 Dec 96 3:10:02 CST + Files: pod/perlipc.pod + + Title: "pod patches for English errors" + From: Steve Kelem <steve.kelem@xilinx.com> + Msg-ID: <24616.850167191@castor> + Date: Mon, 09 Dec 1996 13:33:11 -0800 + Files: pod/*.pod + + Title: "Misc doc updates" + From: Tom Christiansen + Msg-ID: <199612150156.SAA12506@mox.perl.com> + Date: Sat, 14 Dec 1996 18:56:33 -0700 + Files: pod/* + +---------------- +Version 5.003_11 +---------------- + +This patch is (still) closing in on 5.004. Nothing dramatic, lots of +value. + + CORE LANGUAGE CHANGES + + Title: "Fix precedence problems with subs as uniops or listops" + From: Chip Salzenberg + Files: perly.c perly.c.diff perly.h perly.y + + Title: "Don't reset $. on open()" + From: Chip Salzenberg + Files: pp_sys.c + + Title: "Support *glob{IO} (eventually deprecate *glob{FILEHANDLE})" + From: Chip Salzenberg + Files: pod/perlref.pod pp_hot.c sv.c + + Title: "Don't let expression context force return context" + From: Chip Salzenberg + Files: op.c + + Title: "Properly convert "1E2" et al to IV/UV" + From: Chip Salzenberg + Files: doio.c sv.c + + Title: "Fix modulo operator in UV realm" + From: Chip Salzenberg + Files: pp.c + + Title: "Fix stat(_) after stat(HANDLE)" + From: Chip Salzenberg + Files: pp_sys.c + + Title: "Fix: s/// and "$x =~ $y" under 'use locale'" + From: Chip Salzenberg + Files: op.c toke.c + + OTHER CORE CHANGES + + Title: "Eliminate spurious warning when splicing undefs" + From: Chip Salzenberg + Files: pp.c sv.h + + Title: "Eliminate spurious warning from "x=" operator" + From: Chip Salzenberg + Files: op.c + + Title: "Fix line numbers near control structures" + From: Chip Salzenberg + Files: op.c perly.c perly.c.diff perly.y proto.h + + Title: "Don't let scalar unpack() underflow stack" + From: Chip Salzenberg + Files: pp.c + + Title: "Fix core dump from precedence bug in "@foo" warning" + From: Chip Salzenberg + Files: toke.c + + Title: "Move die() to utils.c; add varargs hack to croak()" + From: Chip Salzenberg + Files: pp_ctl.c util.c + + Title: "Avoid memcmp() for magnitude test if it thinks char is signed" + From: Chip Salzenberg + Files: Configure config_H config_h.SH doop.c + ext/SDBM_File/sdbm/pair.c ext/SDBM_File/sdbm/sdbm.h handy.h + hv.c perl.h pp_hot.c proto.h regexec.c sv.c toke.c util.c + + Title: "Less malloc in magic" + From: Chip Salzenberg + Files: mg.c + + Title: "Re: 5.003_09: PADTMP fix" + From: Ilya Zakharevich + Msg-ID: <199611281150.GAA06884@monk.mps.ohio-state.edu> + Date: Thu, 28 Nov 1996 06:50:58 -0500 (EST) + Files: pod/perlguts.pod + + Title: "Fully paramaterize locales; disable all if NO_LOCALE" + From: Chip Salzenberg + Files: ext/POSIX/POSIX.xs op.c perl.h pp.c pp_sys.c sv.c util.c + + PORTABILITY AND TESTING + + Title: "Bitwise op fix for Alpha" + From: Chip Salzenberg + Files: pp.c + + Title: "hints/dgux.sh update" + From: Roderick Schertler + Msg-ID: <24178.849309616@eeyore.ibcinc.com> + Date: Fri, 29 Nov 1996 18:20:16 -0500 + Files: hints/dgux.sh + + Title: "BUG in hints/hpux.sh" + From: Jeff McDougal <jmcdo@cris.com> + Msg-ID: <32A42C11.7FA2@cris.com> + Date: Tue, 03 Dec 1996 08:33:05 -0500 + Files: hints/hpux.sh + + Title: "VMS patches for 5.003_10" + From: Charles Bailey + Msg-ID: <01ICMALO8NMS001A1D@hmivax.humgen.upenn.edu> + Date: Wed, 04 Dec 1996 16:40:12 -0500 (EST) + Files: EXTERN.h INTERN.h old_perl_exp.SH perl.c perl.h perl_exp.SH + pp.c pp_ctl.c pp_sys.c proto.h sv.c toke.c util.c + utils/perldoc.PL vms/config.vms vms/descrip.mms + vms/gen_shrfls.pl vms/genconfig.pl vms/vmsish.h + + Title: "_10+ under OS/2" + From: Ilya Zakharevich + Msg-ID: <199612011107.GAA10805@monk.mps.ohio-state.edu> + Date: Sun, 1 Dec 1996 06:07:19 -0500 (EST) + Files: malloc.c os2/diff.configure + + LIBRARY AND EXTENSIONS + + Title: "{in,ob}structive pods" + From: Tom Christiansen + Msg-ID: <199611301652.JAA24201@toy.perl.com> + Date: Sat, 30 Nov 1996 09:52:57 -0700 + Files: MANIFEST lib/Class/Template.pm lib/File/stat.pm + lib/Net/hostent.pm lib/Net/netent.pm lib/Net/protoent.pm + lib/Net/servent.pm lib/Time/gmtime.pm lib/Time/localtime.pm + lib/Time/tm.pm lib/User/grent.pm lib/User/pwent.pm + + Title: "FileHandle that 'ISA' IO::File" + From: Nick Ing-Simmons + Msg-ID: <199612021718.RAA04416@pluto> + Date: Mon, 2 Dec 1996 17:18:02 GMT + Files: MANIFEST lib/FileHandle.pm + + Title: "Make IO::File::import use its parameters" + From: Chip Salzenberg + Files: ext/IO/lib/IO/File.pm + + Title: "10+ debugger patch" + From: Ilya Zakharevich + Msg-ID: <199612011137.GAA10864@monk.mps.ohio-state.edu> + Date: Sun, 1 Dec 1996 06:37:31 -0500 (EST) + Files: lib/perl5db.pl perl.c pod/perldebug.pod + + Title: "Don't call CORE::close in file handle DESTROY method" + From: Chip Salzenberg + Files: ext/IO/lib/IO/Handle.pm + + Title: "Re: Namespace cleanup: Does SDBM need binary compatibility?" + From: Hallvard B Furuseth + Msg-ID: <199612031445.PAA19056@bombur2.uio.no> + Date: Tue, 3 Dec 1996 15:45:27 +0100 (MET) + Files: ext/SDBM_File/sdbm/pair.h ext/SDBM_File/sdbm/sdbm.3 + + Title: "DB_File 1.07" + From: Paul Marquess + Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs t/lib/db-btree.t + t/lib/db-recno.t + + Title: "DB_File 1.08" + From: Paul Marquess + Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs + + +---------------- +Version 5.003_10 +---------------- + +This patch is closing in on 5.004. It contains lots of small and +valuable changes, but nothing dramatic. + + CORE LANGUAGE CHANGES + + Title: "Allow &{sub {...}} without warning" + From: Chip Salzenberg + Files: toke.c + + Title: "Make parens optional on [gs]ethost and [gs]et{pw,gr} functions + From: John L. Allen <allen@gateway.grumman.com> + Files: toke.c + + Title: "Fix syntax error with "$x [0]" and "$x {y}" and "@x {y}"" + From: Chip Salzenberg + Files: toke.c + + OTHER CORE CHANGES + + Title: "Fix regex matching of chars with high bit set" + From: Chip Salzenberg + Files: regexec.c + + Title: "Hash key memory corruption fix and naming cleanup" + From: Chip Salzenberg + Files: hv.c hv.h perl.h + + Title: "Undo broken perf. patch (PADTMP stealing)" + From: Chip Salzenberg + Files: sv.c + + Title: "Make SV unstudied in sv_gets()" + From: Chip Salzenberg + Files: sv.c + + Title: "Better support for UVs" + From: Paul Marquess + Files: global.sym old_global.sym perl.h pp.c pp.h proto.h sv.c sv.h + + Title: "Minor locale cleanups" + (Accept "POSIX" locale as standard like "C". Reset locale to + 'C' when testing strtod() in t/lib/posix.t.) + From: Chip Salzenberg + Files: t/lib/posix.t util.c + + Title: "Always taint result of sprintf() on float" + From: Chip Salzenberg + Files: doop.c + + Title: "Fix spurious warning from bitwise string ops" + From: Chip Salzenberg + Files: doop.c + + Title: "Eliminate warning on {,sys}read(,$newvar,)" + From: Chip Salzenberg + Files: doop.c pp_sys.c + + Title: "Don't call fcntl(fileno(rsfp)) if !rsfp" + From: Chip Salzenberg + Files: perl.c + + Title: "Save message when calling __DIE__ hook" + From: Chip Salzenberg + Files: pp_ctl.c + + Title: "Namespace cleanup" + From: Chip Salzenberg + Files: global.sym old_global.sym perl.h + + Title: "Modify perl_exp.SH; create old_perl_exp.SH; document old_*" + From: Chip Salzenberg + Files: Configure INSTALL MANIFEST old_perl_exp.SH perl_exp.SH + + PORTABILITY + + Title: "Reliable signal patch" + From: Kenneth Albanowski + Msg-ID: <Pine.LNX.3.93.961126053209.294J-100000@kjahds.com> + Date: Tue, 26 Nov 1996 05:40:50 -0500 (EST) + Files: global.sym mg.c old_global.sym perl.h pp_sys.c proto.h util.c + + Title: "Emulate missing flock() with either fcntl() or lockf()" + From: Chip Salzenberg + Files: pp_sys.c + + Title: "3_09: minor patches for OS/2" + From: Ilya Zakharevich + Msg-ID: <199611270830.DAA04985@monk.mps.ohio-state.edu> + Date: Wed, 27 Nov 1996 03:30:05 -0500 (EST) + Files: doio.c global.sym malloc.c old_global.sym os2/Makefile.SHs + os2/OS2/ExtAttr/Makefile.PL os2/OS2/PrfDB/Makefile.PL + os2/OS2/Process/Makefile.PL os2/OS2/REXX/Makefile.PL + os2/os2.c os2/os2ish.h perl.h + + Title: "Re: 5.003_09 and QNX" + From: nort@bottesini.harvard.edu (Norton Allen) + Msg-ID: <9611271836.AA14460@bottesini.harvard.edu> + Date: Wed, 27 Nov 96 13:36:06 est + Files: Configure MANIFEST README.qnx hints/qnx.sh qnx/ar qnx/cpp + t/TEST toke.c util.c x2p/proto.h + + Title: "Re: updated patch on the sysread, syswrite for VMS" + From: Charles Bailey + Msg-ID: <01ICB648K2XG001A1D@hmivax.humgen.upenn.edu> + Date: Tue, 26 Nov 1996 17:28:23 -0500 (EST) + Files: t/op/sysio.t + + LIBRARY AND EXTENSIONS + + Title: "Minor patch to debugger" + From: Ilya Zakharevich + Msg-ID: <199611290533.AAA08053@monk.mps.ohio-state.edu> + Date: Fri, 29 Nov 1996 00:33:49 -0500 (EST) + Files: lib/perl5db.pl + + Title: "AutoLoader::AUTOLOAD optimization" + From: Nick Ing-Simmons + Msg-ID: <199611231954.TAA09921@ni-s.u-net.com> + Date: Sat, 23 Nov 1996 19:54:52 GMT + Files: lib/AutoLoader.pm + + Title: "Diagnostic cleanup" + From: Chip Salzenberg + Files: lib/diagnostics.pm pod/perldiag.pod + + DOCUMENTATION + + Title: "Improve documentation for sysread() and syswrite()" + From: Chip Salzenberg + Files: pod/perlfunc.pod + + Title: "Document how to use $SIG{ALRM} and alarm()" + From: Roderick Schertler + Msg-ID: <5898.849026569@eeyore.ibcinc.com> + Date: Tue, 26 Nov 1996 11:42:49 -0500 + Files: pod/perlfunc.pod + + +---------------- +Version 5.003_09 +---------------- + +This patch was a compendium of various fixes and enhancements from +many people, including some serious improvement in lexical variable +scoping and locale handling. + + CORE LANGUAGE CHANGES + + Title: "Lexical locales" + (make effectiveness of locales depend on C<use locale>) + From: Chip Salzenberg + Files: too many to list + + Title: "Lexical scoping cleanup" + (tighten scoping of lexical variables, somewhat on the + new constructs and somewhat on the old) + From: Chip Salzenberg + Files: many... but mostly perly.y and toke.c + + Title: "Re: memory corruption / security bug in sysread,syswrite + pa + From: Jarkko Hietaniemi + Msg-ID: <199611251946.VAA30459@alpha.hut.fi> + Date: Mon, 25 Nov 1996 21:46:31 +0200 (EET) + Files: MANIFEST pod/perldiag.pod pod/perlfunc.pod pp_sys.c + t/op/sysio.t + + OTHER CORE CHANGES + + Title: "Configure fix for handling DynaLoader" + From: Chip Salzenberg + Files: Configure + + Title: "Properly prototype safe{malloc,calloc,realloc,free}." + From: Chip Salzenberg + Files: proto.h + + Title: "UnixWare 2.1 fix for perl5.003_08 - cope with fp->_cnt < -1, + From: John Hughes <john@AtlanTech.COM> + Msg-ID: <01BBD6EE.E915C860@malvinas.AtlanTech.COM> + Date: Wed, 20 Nov 1996 14:27:06 +0100 + Files: sv.c + + Title: ""static" call to UNIVERSAL::can" + From: Nick Ing-Simmons + Msg-ID: <199611211547.PAA15878@pluto> + Date: Thu, 21 Nov 1996 15:47:46 GMT + Files: universal.c + + Title: "die -> croak" + From: Gurusamy Sarathy + Msg-ID: <199611212111.QAA17070@aatma.engin.umich.edu> + Date: Thu, 21 Nov 1996 16:11:21 -0500 + Files: pp_ctl.c + + Title: "Patch for embed.pl when !EMBED && !MULTIPLICITY" + From: Chip Salzenberg + Files: embed.pl + + Title: "Add new symbols to old_global.sym, too." + From: Chip Salzenberg + Files: global.sym old_global.sym + + Title: "Cleanup of {,un}pack('w')." + From: Chip Salzenberg + Files: pp.c + + Title: "Cleanups from Ilya." + From: Chip Salzenberg + Files: gv.c malloc.c pod/perlguts.pod pp_ctl.c + + Title: "Fix for unpack('w') on 64-bit systems." + From: Chip Salzenberg + Files: pp.c + + Title: "Re: LC_NUMERIC support is ready + performance" + From: Ilya Zakharevich + Msg-ID: <199611260308.WAA02677@monk.mps.ohio-state.edu> + Date: Mon, 25 Nov 1996 22:08:27 -0500 (EST) + Files: sv.c + + Title: "Hash key sharing improvements from Ilya." + From: Chip Salzenberg + Files: hv.c hv.h proto.h + + Title: "Mortal stack pre-allocation from Ilya." + From: Chip Salzenberg + Files: pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c + + PORTABILITY + + Title: "VMS patches post-5.003_08" + From: Charles Bailey + Msg-ID: <1996Nov22.181631.1603238@hmivax.humgen.upenn.edu> + Date: Fri, 22 Nov 1996 18:16:31 -0500 (EST) + Files: lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_VMS.pm + lib/ExtUtils/MakeMaker.pm lib/File/Path.pm mg.c pp_ctl.c + utils/h2xs.PL vms/config.vms vms/descrip.mms + vms/gen_shrfls.pl vms/genconfig.pl vms/perlvms.pod vms/vms.c + vms/vmsish.h + + Title: "5.003_08: OS/2-specific bugs/enhancements" + From: Ilya Zakharevich + Msg-ID: <199611241147.GAA00490@monk.mps.ohio-state.edu> + Date: Sun, 24 Nov 1996 06:47:25 -0500 (EST) + Files: README.os2 hints/os2.sh os2/Changes os2/Makefile.SHs + os2/OS2/PrfDB/PrfDB.pm os2/os2.c + + Title: "HP patches didn't make it into _08 (fwd)" + From: Jeff Okamoto + Msg-ID: <199611260215.AA100414526@hpcc123.corp.hp.com> + Date: Mon, 25 Nov 96 18:15:26 PST + Files: ext/DynaLoader/dl_hpux.xs + + Title: "Another HP "patch" that didn't make it (new hints file)" + From: Jeff Okamoto + Msg-ID: <199611252116.AA245766577@hpcc123.corp.hp.com> + Date: Mon, 25 Nov 1996 13:16:17 -0800 + Files: hints/hpux.sh + + LIBRARY AND EXTENSIONS + + Title: "Elide spurious space in db-hash.t" + From: Chip Salzenberg + Files: t/lib/db-hash.t + + Title: "Update documentation and warning in I18N::Collate." + From: Chip Salzenberg + Files: lib/I18N/Collate.pm + + Title: "Fix bitwise op test; clean up a couple of others" + From: Chip Salzenberg + Files: t/lib/bigintpm.t t/op/bop.t t/op/overload.t + + Title: "minimal timelocal.pl for _09" + From: Achim Bohnet <ach@rosat.mpe-garching.mpg.de> + Msg-ID: <9611191854.AA19586@o09.rosat.mpe-garching.mpg.de> + Date: Tue, 19 Nov 1996 19:54:23 +0100 + Files: lib/Time/Local.pm + + Title: "Socket test improvement from Ilya." + From: Chip Salzenberg + Files: t/lib/io_sock.t + + Title: "Re: blib" + From: Nick Ing-Simmons + Msg-ID: <199611230917.JAA00471@ni-s.u-net.com> + Date: Sat, 23 Nov 1996 09:17:40 GMT + Files: lib/blib.pm + + DOCUMENTATION + + Title: "perldiag documentation patch." + From: Paul Marquess + Msg-ID: <9611201607.AA12729@claudius.bfsec.bt.co.uk> + Date: Wed, 20 Nov 96 16:07:28 GMT + Files: pod/perldiag.pod + + Title: "a missing perldiag entry" + From: Gurusamy Sarathy + Msg-ID: <199611212024.PAA15758@aatma.engin.umich.edu> + Date: Thu, 21 Nov 1996 15:24:02 -0500 + Files: pod/perldiag.pod + + Title: "perlfunc patch" + From: Paul Marquess + Msg-ID: <9611201404.AA12477@claudius.bfsec.bt.co.uk> + Date: Wed, 20 Nov 96 14:04:08 GMT + Files: pod/perlfunc.pod + + Title: "Patch for pod/perlpod.pod" + From: "Joseph S. Myers" <jsm28@cam.ac.uk> + Msg-ID: <Pine.LNX.3.95.961120235016.6666A-100000@hammer.chu.cam.ac.uk + Date: Wed, 20 Nov 1996 23:54:41 +0000 (GMT) + Files: pod/perlpod.pod + + Title: "Update locale documentation." + From: Chip Salzenberg + Files: pod/perli18n.pod + + BUNDLED UTILITIES + + Title: "Fix type mismatches in x2p's safe{alloc,realloc,free}." + From: Chip Salzenberg + Files: x2p/util.c + + +---------------- +Version 5.003_08 +---------------- + +This patch was a compendium of various fixes and enhancements from +many people. Here are some of the more significant changes. + + + CORE LANGUAGE CHANGES + + Title: "Make C<no FOO> fail if C<unimport FOO> fails" + From: Tim Bunce + Files: gv.c + + Title: "Bitwise op sign rationalization" + (Make bitwise ops result in unsigned values, unless C<use + integer> is in effect. Includes initial support for UVs.) + From: Chip Salzenberg + Files: op.c opcode.pl pod/perlop.pod pod/perltoc.pod pp.c pp.h + pp_hot.c proto.h sv.c t/op/bop.t + + Title: "Defined scoping for C<my> in control structures" + (Finally defines semantics of "my" in control expressions, + like the condition of "if" and "while". In all cases, scope + of a "my" var extends to the end of the entire control + structure. Also adds new construct "for my", which + automatically declares the control variable "my" and limits + its scope to the loop.) + From: Chip Salzenberg + Files: op.c perly.c perly.c.diff perly.h perly.y proto.h toke.c + + Title: "Fix ++/-- after int conversion (e.g. 'printf "%d"')" + (This patch makes Perl correctly ignore SvIVX() if either + NOK or POK is true, since SvIVX() may be a truncated or + overflowed version of the real value.) + From: Chip Salzenberg + Files: pp.c pp_hot.c sv.c + + Title: "Make code match Camel II re: functions that use $_" + From: Paul Marquess + Files: opcode.pl + + Title: "Provide scalar context on left side of "->"" + From: Chip Salzenberg + Files: perly.c perly.y + + Title: "Quote bearword package/handle FOO in "funcname FOO => 'bar'"" + From: Chip Salzenberg + Files: toke.c + + + OTHER CORE CHANGES + + Title: "Warn on overflow of octal and hex integers" + From: Chip Salzenberg + Files: proto.h toke.c util.c + + Title: "If -w active, warn for commas and hashes ('#') in qw()" + From: Chip Salzenberg + Files: toke.c + + Title: "Fixes for pack('w')" + From: Ulrich Pfeifer + Files: pp.c t/op/pack.t + + Title: "More complete output from sv_dump()" + From: Gurusamy Sarathy + Files: sv.c + + Title: "Major '..' and debugger patches" + From: Ilya Zakharevich + Files: lib/perl5db.pl op.c pp_ctl.c scope.c scope.h + + Title: "Fix for formline()" + From: Gurusamy Sarathy + Files: global.sym mg.c perl.h pod/perldiag.pod pp_ctl.c proto.h sv.c + t/op/write.t + + Title: "Fix stack botch in untie and binmode" + From: Gurusamy Sarathy + Files: pp_sys.c + + Title: "Complete EMBED, including symbols from interp.sym" + (New define EMBEDMYMALLOC makes embedding total by + avoiding "Mymalloc" etc.) + From: Chip Salzenberg + Files: MANIFEST embed.pl ext/DynaLoader/dlutils.c + ext/SDBM_File/sdbm/sdbm.h global.sym handy.h malloc.c + perl.h pp_sys.c proto.h regexec.c toke.c util.c + x2p/Makefile.SH x2p/a2p.h x2p/handy.h x2p/util.h + + Title: "Support old embedding for people who want it" + From: Chip Salzenberg + Files: MANIFEST Makefile.SH old_embed.pl old_global.sym + + + PORTABILITY + + Title: "Miscellaneous VMS fixes" + From: Charles Bailey + Files: lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_VMS.pm + lib/Math/Complex.pm lib/Time/Local.pm lib/timelocal.pl + perl.h perl_exp.SH proto.h t/TEST t/io/read.t + t/lib/findbin.t t/lib/getopt.t util.c utils/h2xs.PL + vms/Makefile vms/config.vms vms/descrip.mms + vms/ext/Stdio/Stdio.pm vms/ext/Stdio/Stdio.xs + vms/perlvms.pod vms/test.com vms/vms.c + + Title: "DJGPP patches (MS-DOS)" + From: "Douglas E. Wegscheid" <wegscd@whirlpool.com> + Files: doio.c dosish.h ext/SDBM_File/sdbm/sdbm.c handy.h + lib/AutoSplit.pm lib/Cwd.pm lib/File/Find.pm malloc.c perl.c + perl.h pp_sys.c proto.h sv.c util.c + + Title: "Plan 9 update" + From: Luther Huffman <lutherh@infinet.com> + Files: plan9/buildinfo plan9/config.plan9 plan9/exclude + plan9/genconfig.pl plan9/mkfile plan9/setup.rc + + Title: "Patch to make Perl work under AmigaOS" + From: Norbert Pueschel + Files: MANIFEST hints/amigaos.sh installman lib/File/Basename.pm + lib/File/Find.pm pod/pod2man.PL pp_sys.c util.c + + LIBRARY AND EXTENSIONS + + Title: "DB_File 1.05" + From: Paul Marquess + Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs t/lib/db-hash.t + + Title: "Getopts::Std patch for hash support" + From: Stephen Zander <stephen.zander@interlock.mckesson.com> + Files: lib/Getopt/Std.pm + + Title: "Kludge for bareword handles" + (Add 'require IO::Handle' at beginning of FileHandle.pm) + From: Chip Salzenberg + Files: ext/FileHandle/FileHandle.pm + + Title: "Re: strtod / strtol patch for POSIX module" + From: hammen@gothamcity.jsc.nasa.gov (David Hammen) + Files: Configure config_h.SH ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod + ext/POSIX/POSIX.xs t/lib/posix.t + + BUNDLED UTILITIES + + Title: "Fix a2p translation of '{print "a" "b" "c"}'" + From: Chip Salzenberg + Files: x2p/a2p.c x2p/a2p.y + + +---------------- +Version 5.003_07 +---------------- + +This patch was primarily to fix bugs or include little things I missed +in 5.003_06. 5.003_07 is intended to be stable enough to merit serious +testing with an eye towards eventual release as 5.004. + +If it doesn't work for you, try + + LC_ALL=C; export LC_ALL + +for Bourne shell users, or + + setenv LC_ALL C + +for C-shell users. Some versions of IRIX are reported to have +problems with sort when the locale is other than C. This manifests +as an infinite loop in the ./miniperl configpm step. + +The details are described below. A very brief summary is: + +o Visible Changes to Core Functionality + + -Support for BER compressed integers. See perlfunc.pod for + documentation on the 'w' option. + + -untaint support added to IO extension. + +o Changes in Core Internals + + -Perl's realloc is once again called 'Myremalloc' (with -DHIDEMYMALLOC), + as it was pre-5.003_01. Again, this is for binary compatibility + with 5.003. (5.003_06 erroneously called it Myrealloc.) + + -Getopt::Long updated to version 2.4. + +o Configure and build enhancements + + -improved SCO hints. Actually these are unconfirmed guesses, but + they may be right. + + -OS/2 and Plan9 updates. + +o Bug fixes + + -print sort (4,1,3,2); + + -group numbers are integers again. + + -other things. See the specific changes for details. + +o Specific Changes + +Here are the specific file-by-file changes. + +Index: Changes + + Updated for 5.003_07. + + Fixed a spelling error. + +Index: Configure + + Detect GNU libc (thanks, Skimo!) and avoid nm if we have GNU libc. + Since the GNU libc test requires compiling and linking a test + program, the dependencies have been altered and lots of pieces of + Configure have moved around unchanged. The patch is big but the + effect is little. + + Allow for both <sys/select.h> and <time.h> in fd_set tests. + Systems which don't allow both (e.g. SCO) have to turn off one + or the other in the hints file for now. + +Index: INSTALL + + Warn about re-using config.sh version-specific values. + +Index: MANIFEST + + Date: Tue, 8 Oct 1996 22:24:48 -0400 + From: "Randy J. Ray" <rjray@uswest.com> + Subject: PATCH: untaint method for IO::Handle, 5.003_06 version + + This is a re-post of my patch to Graham's IO library to add a method in + IO::Handle called "untaint", that sets the IOf_UNTAINT flag on an object + that is of or inherits from IO::Handle. With this flag set, data read from + said handle is not tainted, whether running under -T, suid or sgid. + + This patch adds the method to IO.xs, adds documentation and warning to the + pod of IO/Handle.pm, creates a new test in t/lib called io_taint.t, and + adds mention of the new file to MANIFEST. + + Add mention of t/lib/io_taint.t + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + os2/Changes added. + +Index: Makefile.SH + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + All the executable targets are moved into the same chunk with + shared library target, which is delegated to + $osname/Makefile.SHs if found. + config.h should depend on config_h.SH. + + Remove mkmanifest target, since it will generate incorrectly + sorted MANIFEST file, I would imagine (I haven't checked). + +Index: README.os2 + + New version. + +Index: config_H + + Update SH_PATH comment. + +Index: config_h.SH + + Update SH_PATH comment. + +Index: ext/IO/IO.xs + + Date: Tue, 8 Oct 1996 22:24:48 -0400 + From: "Randy J. Ray" <rjray@uswest.com> + Subject: PATCH: untaint method for IO::Handle, 5.003_06 version + + This is a re-post of my patch to Graham's IO library to add a method in + IO::Handle called "untaint", that sets the IOf_UNTAINT flag on an object + that is of or inherits from IO::Handle. With this flag set, data read from + said handle is not tainted, whether running under -T, suid or sgid. + + This patch adds the method to IO.xs, adds documentation and warning to the + pod of IO/Handle.pm, creates a new test in t/lib called io_taint.t, and + adds mention of the new file to MANIFEST. + + Add method "untaint" into class IO::Handle + +Index: ext/IO/lib/IO/Handle.pm + + Date: Tue, 8 Oct 1996 22:24:48 -0400 + From: "Randy J. Ray" <rjray@uswest.com> + Subject: PATCH: untaint method for IO::Handle, 5.003_06 version + + This is a re-post of my patch to Graham's IO library to add a method in + IO::Handle called "untaint", that sets the IOf_UNTAINT flag on an object + that is of or inherits from IO::Handle. With this flag set, data read from + said handle is not tainted, whether running under -T, suid or sgid. + + This patch adds the method to IO.xs, adds documentation and warning to the + pod of IO/Handle.pm, creates a new test in t/lib called io_taint.t, and + adds mention of the new file to MANIFEST. + + Document IO::Handle::untaint and give warning about the bad + things it can do. + +Index: ext/SDBM_File/sdbm/sdbm.h + + Change Myrealloc to Myremalloc to conform to 5.003's version. + I left in the Mycalloc since malloc.c now includes a calloc, + and we might need to hide it. + +Index: gv.c + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + Better error message for overload. + +Index: hints/os2.sh + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + Some optimization (speedup in loading GNU utilities with some + memory present - 32M should be quite enough). + Test for revision of EMX, and setting fork()ing appropriately. + libc was in .../st/... instead of mt. + README.os2 is installed as pod/perlos2.pod. + +Index: hints/sco.sh + + Don't include <sys/select.h> along with <time.h>. + +Index: installperl + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + Restore timestamps under OS/2 (needed for binary install). + +Index: lib/Cwd.pm + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + Use builtin methods if present under OS/2 (maybe should be + done outside of OS/2 too?). + +Index: lib/ExtUtils/MM_Unix.pm + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + Made `use strict'-clean even in parts shadowed by Autoloading. + +Index: lib/ExtUtils/typemap + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + `bool' entry added. + +Index: lib/ExtUtils/xsubpp + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + Logic for processing RETVAL documented (at last!). + +Index: lib/File/Copy.pm + + Date: Thu, 10 Oct 1996 00:42:29 -0400 (EDT) + From: Ilya Zakharevich + Subject: Cleanup after new test + + Below are patches for File::Copy (copying to filehandles was just + plain broken under OS/2 and VMS) + +Index: lib/FindBin.pm + + Date: Fri, 20 Sep 1996 15:04:04 +0200 + From: Gisle Aas + Subject: Documentation patch to the FindBin module + +Index: lib/Getopt/Long.pm + + Update to version 2.4. + +Index: lib/lib.pm + + Date: Thu, 10 Oct 1996 14:22:05 -0400 + From: "Brent B. Powers" <powers@ml.com> + Subject: Re: patch for lib.pm + + Ignore undefined entries. + +Index: lib/newgetopt.pl + + Updated to version 2.4 to match Getopt::Long. + +Index: makedepend.SH + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + weed out perl_exp.SH, config_h.SH + (They have these funny names to avoid names like perl.exp.SH + with more than two '.' Such names are illegal on some systems.) + +Index: mg.c + + Date: Thu, 10 Oct 1996 14:33:08 +0000 () + From: Chip Salzenberg + Subject: Re: Group fix for 5.003_06 + + The group problems recently experienced are due to a small error + introduced in 5.003_06. This patch is required to fix the bug: + +Index: os2/Changes + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + sys/un.h is not very useful without Merlin toolkit. + updates for fork()ing. + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + added. + +Index: os2/Makefile.SHs + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + Convoluted process to create chimera executables added. + aout_clean is done automatically on clean. + +Index: os2/OS2/ExtAttr/t/os2_ea.t + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + Use `unlink' where appropriate. + +Index: os2/diff.configure + + Updated. + +Index: os2/os2.c + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + /bin/sh is translated to the configured value of location of sh.exe. + popen() used even if we can fork (as we do now). + builtins added for the sake of path manipulation. + +Index: os2/os2ish.h + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + sys/un.h is not very useful without Merlin toolkit. + updates for fork()ing. + +Index: patchlevel.h + + Change to subversion 7. + +Index: perl.c + + Date: Wed, 9 Oct 1996 19:03:41 +0000 + From: Tim Bunce + Subject: Infinte loop with perl_destruct_level and $SIG{__WARN__} + + I've just started using purify on a perl with DBD::Oracle linked in + (the number of uninitialised memory reads in the Oracle libraries + is frightning!). + + If perl_destruct_level and $SIG{__WARN__} are set then I see a range + of problems typified by this example and folowed by a core dump: + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + Copywrite of OS/2 port now has \n\n. + Now deletes -e file (again!) if compilation is interrupted. + +Index: perl.h + + Change Myrealloc to Myremalloc to conform to 5.003's version. + I left in the Mycalloc since malloc.c now includes a calloc, + and we might need to hide it. + +Index: plan9/aperl + + Updated for 5.003_07 + +Index: plan9/arpa/inet.h + + Updated for 5.003_07 + +Index: plan9/buildinfo + + Updated for 5.003_07 + +Index: plan9/config.plan9 + + Updated for 5.003_07 + +Index: plan9/exclude + + Updated for 5.003_07 + +Index: plan9/fndvers + + Updated for 5.003_07 + +Index: plan9/genconfig.pl + + Updated for 5.003_07 + +Index: plan9/mkfile + + Updated for 5.003_07 + +Index: plan9/myconfig.plan9 + + Updated for 5.003_07 + +Index: plan9/perlplan9.doc + + Updated for 5.003_07 + +Index: plan9/perlplan9.pod + + Updated for 5.003_07 + +Index: plan9/plan9.c + + Updated for 5.003_07 + +Index: plan9/plan9ish.h + + Updated for 5.003_07 + +Index: plan9/setup.rc + + Updated for 5.003_07 + +Index: plan9/versnum + + Updated for 5.003_07 + +Index: pod/perldiag.pod + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + mention that malloc in berkeley DB is broken, and PERL_BADFREE. + OS/2-specific messages added. + +Index: pod/perlfunc.pod + + Date: 20 Sep 1996 13:17:14 +0200 + From: Ulrich Pfeifer + Subject: Re: Patch for ASN.1 compressed integer in pack/unpack + +Index: pod/perli18n.pod + + Updated version with high bits intact. + +Index: pod/perlop.pod + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + Crossrefs corrected. + +Index: pod/perltrap.pod + + Clarified that warn() _always_ printed to STDERR, both in perl4 + and perl5. + +Index: pod/perlvar.pod + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + $^E under OS/2. + +Index: pp.c + + Date: 20 Sep 1996 13:17:14 +0200 + From: Ulrich Pfeifer + Subject: Re: Patch for ASN.1 compressed integer in pack/unpack + +Index: pp_sys.c + + Date: Wed, 9 Oct 1996 19:07:24 GMT + From: Chris Faylor <cgf@bbc.com> + + The problem is that SCO apparently needs to have a file opened + with write privileges for chsize to work correctly. + +Index: sv.c + + Date: Tue, 08 Oct 1996 23:54:47 -0400 + From: Gurusamy Sarathy + Subject: Re: Sorting lists of integers doesn't always work + + >> > print sort (4,1,2,3); + >> > + >> > actually prints "4123", i.e. doesn't actually sort. Bug? Feature? + + This broke between 5.001n and 5.002. There was a long winded thread + about sorting undefs in some order (rather than coredumping) around + the 5.002beta times (search for "bogorefs" in the subject-line on + p5p archive for details). Larry added in some code that presumes that + the private flags are set by the time qsort() is called: + + Unfortunately, sv_2pv() does not set the POKp flag, so the above + code breaks! Here's a patch against 5.00306. + +Index: t/lib/anydbm.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/db-btree.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/db-hash.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/db-recno.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/gdbm.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/io_pipe.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + Better error message on dying. + +Index: t/lib/io_taint.t + + Date: Tue, 8 Oct 1996 22:24:48 -0400 + From: "Randy J. Ray" <rjray@uswest.com> + Subject: PATCH: untaint method for IO::Handle, 5.003_06 version + + This is a re-post of my patch to Graham's IO library to add a method in + IO::Handle called "untaint", that sets the IOf_UNTAINT flag on an object + that is of or inherits from IO::Handle. With this flag set, data read from + said handle is not tainted, whether running under -T, suid or sgid. + + This patch adds the method to IO.xs, adds documentation and warning to the + pod of IO/Handle.pm, creates a new test in t/lib called io_taint.t, and + adds mention of the new file to MANIFEST. + + Test suite for the untaint method of class IO::Handle. + +Index: t/lib/ndbm.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/odbm.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/sdbm.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/socket.t + + Date: Thu, 10 Oct 1996 01:09:59 -0400 + From: Spider Boardman + Subject: Re: 5.003_06 is available (results on ULTRIX) + + fix t/lib/socket.t to treat TCP like the stream protocol it is + rather than expecting it behave rationally in all cases. + +Index: t/op/pack.t + + Date: 20 Sep 1996 13:17:14 +0200 + From: Ulrich Pfeifer + Subject: Re: Patch for ASN.1 compressed integer in pack/unpack + +Index: t/op/sort.t + + Date: Wed, 09 Oct 1996 00:41:27 -0400 + From: Gurusamy Sarathy + Subject: more t/op/sort.t tests + +Index: util.c + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + uses my_syspopen, my_syspclose ifdef OS2. my_pclose is defined + as my_syspclose ifdef OS2 and can FORK (as OS2 does). + +Index: x2p/Makefile.SH + + Date: Wed, 9 Oct 96 16:00:29 edt + From: Norton Allen <nort@bottesini.harvard.edu> + Subject: Re: sh Configure? + + Extract x2p/Makefile.SH and x2p/cflags.SH correctly down + in the x2p directory, even if $0 isn't set to the full + pathname of the file being extracted. + +Index: x2p/cflags.SH + + Date: Wed, 9 Oct 96 16:00:29 edt + From: Norton Allen <nort@bottesini.harvard.edu> + Subject: Re: sh Configure? + + Extract x2p/Makefile.SH and x2p/cflags.SH correctly down + in the x2p directory, even if $0 isn't set to the full + pathname of the file being extracted. + + +---------------- +Version 5.003_06 +---------------- + +This patch was primarily to fix bugs, improve the documentation, +and work towards restoring binary compatibility with 5.003. +The details are described below. A very brief summary is: + +o Visible Changes to Core Functionality + + -Significantly improved support _with documentation_ for + locales, including LC_COLLATE. See the new pod/perli18n.pod. + Thanks to Jarkko Hietaniemi. + + -new version of Math::Complex, with test suite. Ought to be + backwards compatible, but check it out if you use Math::Complex. + + -Pre-extending hashes now works. keys %hash = 5000 will pre-size + %hash. + + -__DATA__ filehandle is untainted. + +o Changes in Core Internals + + -gv_fullname and gv_efullname have reverted to their pre-5.003_03 + versions for binary compatibility. Actually, they are implemented + as stubs pointing to the new 3-argument forms gv_fullname3 and + gv_efullname3. + + -Perl's malloc is once again called 'Mymalloc' (with -DHIDEMYMALLOC), + as it was pre-5.003_01. Again, this is for binary compatibility + with 5.003. + +o Configure and build enhancements + + -many new tests for the standard library. + + -test suite now locale-friendly. + + -a2p.man and s2p.man now made into pods. + +o Bug fixes + + -whitespace lexer errors fixed. + + -many, many other things. See details below. + +o Specific Changes + +Here are the specific file-by-file changes. + +# This is my patch perl5.003_06.pat to perl5.003_05 +# The full description is below. +# Please execute the following commands before applying this patch. +# (You can feed this patch to 'sh' to do so.) +# -- Andy Dougherty + +# We'll create some new tests, but patch won't automatically make them +# executable. +for t in abbrev.t autoloader.t basename.t checktree.t complex.t \ + env.t fatal.t filecache.t filecopy.t filefind.t filepath.t \ + findbin.t getopt.t hostname.t parsewords.t searchdict.t \ + selectsaver.t symbol.t texttabs.t textwrap.t timelocal.t +do + touch t/lib/$t + chmod +x t/lib/$t +done + +# The a2p.man and s2p.man pages have been changed into pods. +rm -f x2p/a2p.man x2p/s2p.man + +exit 0 + + +This is patch perl5.003_06.pat to perl version 5.003_05. +This takes you from 5.003_05 to 5.003_06. + +To apply this patch, run the above commands, +cd to your perl source directory and then type + + patch -p1 -N < perl5.003_06.pat + +The changes are described after each /^Index:/ line below. This is +designed so you can examine each change with a command such as + + csplit -k perl5.003_06.pat '/^Index:/' '{999}' + +(Of course, since there are more than 100 Index entries, your +csplit may complain, since many csplit's have an arbitrary limit of 100 +files. Still, you can manually split the file or roll your own.) + +Index: Changes + + Updated for 5.003_06. + +Index: Configure + + Add -Wl,rpath option for irix* to find the installed shared + libperl.so + + Add /shlib to libpth. It is used by Digital Unix 4.0. + + Date: Mon, 30 Sep 1996 14:01:05 +0100 + From: Sven Verdoolaege <skimo@breughel.ufsia.ac.be> + + Detect Cygnus Win32, or at least don't let Configure get fooled + into thinking it's OS/2. + +Index: INSTALL + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + added LC_COLLATE doc. + +Index: MANIFEST + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + + Date: Sat, 28 Sep 1996 15:11:06 +0200 + From: Andreas Koenig + Subject: Dale's posting as patch (Was: Perl 5.003_5 make fails on NS3.2 - CURED) + + Handle NeXT, POSIX, and setpgid in pp_sys.c and POSIX. + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + added perli18n.pod. + +Index: README + + Changed Larry's address to larry@wall.org. + +Index: configpm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: configure + + Date: Mon, 30 Sep 1996 14:01:05 +0100 + From: Sven Verdoolaege <skimo@breughel.ufsia.ac.be> + + Warn the user of case-insensitive file systems that they may have + accidentally gotten 'configure' instead of 'Configure'. + +Index: doio.c + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + +Index: doop.c + + Date: Mon, 30 Sep 1996 01:13:28 -0400 + From: Spider Boardman + Subject: Re: pre extending hash? - need speed + + The patch below (which is relative to perl5.001l) implements + "keys %hash = 50_000;" (or other integer-evaluable sizes) for + pre-sizing hashes. I've only moved the patch forward from + when I first did it. I'm sure the code in hv_ksplit could be + improved. + +Index: dump.c + + Restore the 5.003 gv_fullname() and gv_efullname() functions. + Provide new 3-arg forms gv_fullname3() and gv_efullname3(). + +Index: embed.h + + Restore the 5.003 gv_fullname() and gv_efullname() functions. + Provide new 3-arg forms gv_fullname3() and gv_efullname3(). + +Index: ext/DynaLoader/DynaLoader.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: ext/FileHandle/FileHandle.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: ext/IO/IO.pm + + Updated to IO-1.12. + +Index: ext/IO/IO.xs + + Updated to IO-1.12. + +Index: ext/IO/lib/IO/File.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Updated to IO-1.12. + +Index: ext/IO/lib/IO/Handle.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Updated to IO-1.12. + +Index: ext/IO/lib/IO/Pipe.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Updated to IO-1.12. + +Index: ext/IO/lib/IO/Seekable.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Updated to IO-1.12. + +Index: ext/IO/lib/IO/Select.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Updated to IO-1.12. + +Index: ext/IO/lib/IO/Socket.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Updated to IO-1.12. + +Index: ext/NDBM_File/hints/dynixptx.pl + + Perl 5.003_05 compiles on DYNIX/ptx 4.0 (v4.1.3), and passes all tests. + The only change needed is in "ext/NDBM_File/Makefile.PL" - on this system, + ndbm is actually contained in the libc library, and must be linked against + -lc when compiling. (this is for dynamic ELF executables, I didn't compile + statically) + +Index: ext/Opcode/Opcode.pm + + Date: Fri, 20 Sep 1996 12:59:21 +0200 + From: Gisle Aas + Subject: Re: Symbol.pm clobbers $_ at startup + + The same kind of problem seem to be present in Opcode.pm: + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: ext/Opcode/Safe.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: ext/POSIX/POSIX.pod + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + enhanced setlocale() docs and introduced the one-argument variant doc. + +Index: ext/POSIX/POSIX.xs + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + setlocale() allowed one argument only, + call to perl_init_fold() (in util.c) if setlocale() succeeded. + +Index: ext/POSIX/hints/next_3.pl + + Date: Sat, 28 Sep 1996 15:11:06 +0200 + From: Andreas Koenig + Subject: Dale's posting as patch (Was: Perl 5.003_5 make fails on NS3.2 - CURED) + + Handle NeXT, POSIX, and setpgid in pp_sys.c and POSIX. + +Index: ext/SDBM_File/sdbm/sdbm.h + + Revert from Perl_malloc to Mymalloc for binary compatibility with + 5.003. + +Index: ext/Socket/Socket.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: global.sym + + Restore the 5.003 gv_fullname() and gv_efullname() functions. + Provide new 3-arg forms gv_fullname3() and gv_efullname3(). + + Date: Mon, 30 Sep 1996 01:13:28 -0400 + From: Spider Boardman + Subject: Re: pre extending hash? - need speed + + The patch below (which is relative to perl5.001l) implements + "keys %hash = 50_000;" (or other integer-evaluable sizes) for + pre-sizing hashes. I've only moved the patch forward from + when I first did it. I'm sure the code in hv_ksplit could be + improved. + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + added var lc_collate_active and func mem_collxfrm. + +Index: gv.c + + Restore the 5.003 gv_fullname() and gv_efullname() functions. + Provide new 3-arg forms gv_fullname3() and gv_efullname3(). + +Index: handy.h + + Date: Sat, 21 Sep 1996 21:33:15 -0400 (EDT) + From: Kenneth Albanowski + Subject: Full LONG_MAX & co. patch over 5.003_05 + + This patch contains the changes I've collected for the various _MAX issues + since 5.003_05. No patches issued between 5.003_05 and this one should be + applied, use this one instead. + + The effect is to remove the CHAR_* and I8_* constants (which are + ambiguous) and to explicitly cast all of the constants. + +Index: hints/machten.sh + + Add notes about MachTen 4.0.3 SYSV IPC. + +Index: hints/next_3.sh + + Replace optimize="-g" by optimize="" since we're just trying to turn off + the optimizier. + + Date: Sat, 28 Sep 1996 15:11:06 +0200 + From: Andreas Koenig + Subject: Dale's posting as patch (Was: Perl 5.003_5 make fails on NS3.2 - CURED) + + Handle NeXT, POSIX, and setpgid in pp_sys.c and POSIX. + +Index: hv.c + + Date: Fri, 20 Sep 1996 15:38:57 -0400 + From: Gurusamy Sarathy + Subject: Re: "Attempt to free non-existent shared string"? (with patch) + + I found a subtle problem with the lazydelete mechanism (which is used + to postpone the delete of a entry that may be getting iterated over). + I was using the HeKLEN slot to hold the hint, but the real HeKLEN is + needed later to call unsharepvn(). This means that only magical + hash entries can use the HeKLEN slot to hold flags. + + Here's a tested patch against 5.00305 that fixes the problem. + The patch simply moves the LAZYDEL hint to become a SV-level private + flag. + + Date: Mon, 30 Sep 1996 01:13:28 -0400 + From: Spider Boardman + Subject: Re: pre extending hash? - need speed + + The patch below (which is relative to perl5.001l) implements + "keys %hash = 50_000;" (or other integer-evaluable sizes) for + pre-sizing hashes. I've only moved the patch forward from + when I first did it. I'm sure the code in hv_ksplit could be + improved. + +Index: hv.h + + Date: Fri, 20 Sep 1996 15:38:57 -0400 + From: Gurusamy Sarathy + Subject: Re: "Attempt to free non-existent shared string"? (with patch) + + I found a subtle problem with the lazydelete mechanism (which is used + to postpone the delete of a entry that may be getting iterated over). + I was using the HeKLEN slot to hold the hint, but the real HeKLEN is + needed later to call unsharepvn(). This means that only magical + hash entries can use the HeKLEN slot to hold flags. + + Here's a tested patch against 5.00305 that fixes the problem. + The patch simply moves the LAZYDEL hint to become a SV-level private + flag. + +Index: installman + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: installperl + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/AutoLoader.pm + + Date: Mon Sep 9 09:29:44 1996 + From: Gisle Aas + Subject: Re: problem with 'die' and UserAgent + + > This is a patch to the AutoLoader.pm (from 5.003) that fixes the problem: + This is a better patch (no need to test for /::DESTROY$/ twice): + + Date: Mon, 30 Sep 1996 00:54:37 -0400 + From: Spider Boardman + + The test and patches for AutoLoader were also non-functional, + since the regexp context (curpm) was still being clobbered by the + filename manipulations: + + Date: Sun, 06 Oct 1996 16:15:07 +0200 + From: Gisle Aas + Subject: Re: Can't locate auto/U/autosplit.ix + + It would IMHO be much better if the AutoLoader exported the AUTOLOAD() + function. With an exported AUTOLOAD() we would not have to inherit + from AutoLoader, and we would avoid these problems. + + This patch tries to explain the behavior of AutoLoader instead by + updating its documentation. + +Index: lib/Benchmark.pm + + Date: Sat, 28 Sep 1996 17:01:22 +0300 (EET DST) + From: Jarkko Hietaniemi + Subject: a really really tiny typo + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/Cwd.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/Devel/SelfStubber.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/Env.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/Exporter.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/ExtUtils/Embed.pm + + Remove unwantd space after the I in -I$Config[archlib} + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/ExtUtils/Install.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/ExtUtils/MM_Unix.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/ExtUtils/MM_VMS.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + +Index: lib/ExtUtils/MakeMaker.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/ExtUtils/Manifest.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + +Index: lib/ExtUtils/Mksymlists.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/ExtUtils/xsubpp + + Change a reference from perlapi(1) to perlxs(1). + +Index: lib/File/Basename.pm + + Date: Fri, 20 Sep 1996 14:11:05 +0200 + From: Gisle Aas + Subject: File::BaseName: "/" is legal path separator for MSDOS + + The File::BaseName module should allow "/" as path separator when + fileparse_set_fstype("MSDOS") is in effect: + + Date: Fri, 20 Sep 1996 13:58:52 +0200 + From: Gisle Aas + Subject: File::Basename documentation patch + + Date: Mon, 30 Sep 1996 00:54:37 -0400 + From: Spider Boardman + + For t/lib/basename.t, though, the associated patch for + File::Basename was also wrong: + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + +Index: lib/File/Copy.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/File/Find.pm + + Date: Sat, 7 Sep 1996 21:37:44 +0200 + From: Michael De La Rue <mikedlr@it.com.pl> + Subject: File::Find assumes $_ remains unchanged; bug + + The File::Find perl module assumes that the $_ variable remains unchanged + through the user defined function which is callbacked from find. It carries + out a stat operation + + Simplest fix is merely to document this + +Index: lib/File/Path.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/FindBin.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/Getopt/Long.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/I18N/Collate.pm + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + deprecated and trapped (will whine if called and tell to migrate away) + +Index: lib/IPC/Open2.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/IPC/Open3.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/Math/BigInt.pm + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + ord() is a dangerous thing. + +Index: lib/Math/Complex.pm + + Date: Thu, 03 Oct 96 18:38:08 +0200 + From: Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com> + # Complex numbers and associated mathematical functions + # -- Raphael Manfredi, Sept 1996 + # New version. Should be backwards compatible, but please + # check it out if you use it. + +Index: lib/Pod/Text.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/Search/Dict.pm + + Date: Sat, 21 Sep 1996 23:02:42 +0200 + From: Gisle Aas + Subject: look() in Search::Dict should use lc() istead of tr/A-Z/a-z/ + + The Search::Dict look() function should use the lc() function instead + of tr/A-Z/a-z/. This will make folding of non-english letters work if + the locale is set up correctly. + +Index: lib/SelfLoader.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/Symbol.pm + + Date: Fri, 20 Sep 1996 12:38:14 +0200 + From: Gisle Aas + Subject: Symbol.pm clobbers $_ at startup + + perl -le 'BEGIN {$_="foo";} use Symbol; print qualify($_)' + + I don't understand why the module want to initialize %global from + <DATA> in the first place. Perhaps we want to apply this patch + instead. + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/Sys/Hostname.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/Term/Cap.pm + + Date: 23 Sep 1996 14:11:38 +0200 + From: Ulrich Pfeifer + Subject: Patch for Term::Cap + + 'use Term::Cap' produces a warning when diagnosics are active. The + patch below avoids the warning. + + [The $entry .= $_ usage is idiomatic enough that it ought to be + ok, I would think, but the patch certainly is ok too.] + +Index: lib/Term/Complete.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/Term/ReadLine.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/Test/Harness.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + +Index: lib/Text/Abbrev.pm + + Date: 23 Sep 1996 11:33:01 +0200 + From: Ulrich Pfeifer + Subject: Text::Abbrev (Re: More standard library test scripts) + + This patch merges the Text::Abbrev related patches/tests from Gisle + and my previous patch (i.e. replaces both). + +Index: lib/Text/Tabs.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/Text/Wrap.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/Time/Local.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/UNIVERSAL.pm + + Add in stub file. + +Index: lib/bigint.pl + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + ord() is a dangerous thing. + +Index: lib/diagnostics.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/overload.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/perl5db.pl + + Date: Mon, 30 Sep 1996 00:34:58 -0400 (EDT) + From: Ilya Zakharevich + Subject: Re: dereferencing a hash from the debugger won't work + +Index: lib/splain + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: lib/strict.pm + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: makedepend.SH + + Add explicit $touch $firstmakefile for QNX which apparently + preserves modification times for a 'cp' command. + I worry, though, that touch might not be portable to OS/2. + If it is, then I'll remove the fancy case statement. + +Index: malloc.c + + Not all sbrks return zeroed memory. + +Index: mg.c + + Restore the 5.003 gv_fullname() and gv_efullname() functions. + Provide new 3-arg forms gv_fullname3() and gv_efullname3(). + + Date: Sun, 29 Sep 1996 22:18:19 -0400 (EDT) + From: Chip Salzenberg + Subject: 5.003_05: Fix numeric value of $! + + This patch undoes a bit of over-zealous integerization in mg.c, related + to the numeric value of $!. + + Date: Mon, 30 Sep 1996 01:13:28 -0400 + From: Spider Boardman + Subject: Re: pre extending hash? - need speed + + The patch below (which is relative to perl5.001l) implements + "keys %hash = 50_000;" (or other integer-evaluable sizes) for + pre-sizing hashes. I've only moved the patch forward from + when I first did it. I'm sure the code in hv_ksplit could be + improved. + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + + Date: Fri, 4 Oct 1996 12:38:31 -0400 (EDT) + From: Chip Salzenberg + Subject: 5.003_05: Fix numeric $! and $^E + + This patch undoes a bit of over-zealous integerization in mg.c, + related to the numeric values of $! and $^E. This patch *REPLACES* + the one I posted earlier, which was only effective for $!. + + [Some of this is superceded by similar stuff in the VMS patches.] + +Index: op.c + + Restore the 5.003 gv_fullname() and gv_efullname() functions. + Provide new 3-arg forms gv_fullname3() and gv_efullname3(). + + Date: Mon, 30 Sep 1996 01:13:28 -0400 + From: Spider Boardman + Subject: Re: pre extending hash? - need speed + + The patch below (which is relative to perl5.001l) implements + "keys %hash = 50_000;" (or other integer-evaluable sizes) for + pre-sizing hashes. I've only moved the patch forward from + when I first did it. I'm sure the code in hv_ksplit could be + improved. + +Index: opcode.h + + Date: Mon, 16 Sep 1996 16:37:48 -0700 + From: Jonathan Biggar <jon@sems.com> + Subject: Perl 5.003 bug when embedding in C++ program + + The following patch is necessary in order to embed the Perl5.003 interpreter + into a C++ program without getting prototype mismatch errors from the + C++ compiler. + +Index: opcode.pl + + Date: Mon, 16 Sep 1996 16:37:48 -0700 + From: Jonathan Biggar <jon@sems.com> + Subject: Perl 5.003 bug when embedding in C++ program + + The following patch is necessary in order to embed the Perl5.003 interpreter + into a C++ program without getting prototype mismatch errors from the + C++ compiler. + +Index: patchlevel.h + + Change to subversion 6. + +Index: perl.c + + From: Roderick Schertler + Subject: Re: -T flag and removal of `.' from @INC + + support C<perl -e'attached code'> + + Date: Tue, 01 Oct 1996 19:02:17 -0400 + From: Gurusamy Sarathy + Subject: Re: 2 core dumps (patch) + Message-Id: <199610012302.TAA08395@aatma.engin.umich.edu> + + The problem is an uninitialized SV slot in errgv. Here's a patch. + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + +Index: perl.h + + Date: Sat, 21 Sep 1996 21:33:15 -0400 (EDT) + From: Kenneth Albanowski + Subject: Full LONG_MAX & co. patch over 5.003_05 + + This patch contains the changes I've collected for the various _MAX issues + since 5.003_05. No patches issued between 5.003_05 and this one should be + applied, use this one instead. + + The effect is to remove the CHAR_* and I8_* constants (which are + ambiguous) and to explicitly cast all of the constants. + + Date: Mon, 30 Sep 1996 01:13:28 -0400 + From: Spider Boardman + Subject: Re: pre extending hash? - need speed + + The patch below (which is relative to perl5.001l) implements + "keys %hash = 50_000;" (or other integer-evaluable sizes) for + pre-sizing hashes. I've only moved the patch forward from + when I first did it. I'm sure the code in hv_ksplit could be + improved. + + Revert from Perl_malloc to Mymalloc for binary compatibility with + 5.003. + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + +Index: perl_exp.SH + + Add new function perl_init_fold. (I'm not sure it goes here.) + +Index: perlio.c + + Date: Thu, 12 Sep 96 15:58 PDT + From: Hunter Kelly <retnuh@zule.pixar.com> + Subject: Re: 5.003_05 is available. + + Fix PerlIO_reopen parameters. + +Index: perlsdio.h + + Date: Fri, 13 Sep 1996 17:24:01 -0400 + From: John Stoffel <jfs@jfs.fluent.com> + Subject: Re: 5.003_05 is available. + + Undef Irix getc_unlocked and putc_unlocked #defines. + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + +Index: pod/Makefile + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + perli18n.pod (and perlapio.pod, btw) added. + +Index: pod/buildtoc + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perl.pod + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Changed Larry's address to larry@wall.org. + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + perli18n advertised. + +Index: pod/perlapio.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + +Index: pod/perlbook.pod + + Updated for Second Edition. + +Index: pod/perlcall.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perldata.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perldebug.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perldiag.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + +Index: pod/perldsc.pod + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perlembed.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perlform.pod + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perlfunc.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perlguts.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + Date: Mon, 23 Sep 96 13:18:01 PDT + From: Jeff Okamoto + Subject: Re: perlguts API Listing patch + + Here's the lastest complete version for inclusion into _06 or .004. This + incorporates and supersedes Dean's patch. + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perli18n.pod + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + written. + +Index: pod/perlipc.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perllol.pod + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perlmod.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Date: Wed, 02 Oct 1996 16:52:08 -0400 + From: Roderick Schertler + Subject: documentation for $? in END + + Document the behavior with $? WRT END subroutines. + +Index: pod/perlobj.pod + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perlop.pod + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Date: Fri, 4 Oct 1996 10:36:19 -0400 (EDT) + From: Kenneth Albanowski + Subject: Re: Suggestion for improving man page + + Add alternative names for various escape sequences. + +Index: pod/perlpod.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perlre.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Date: Fri, 4 Oct 1996 10:36:19 -0400 (EDT) + From: Kenneth Albanowski + Subject: Re: Suggestion for improving man page + + Add alternative names for various escape sequences. + +Index: pod/perlref.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perlrun.pod + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perlsec.pod + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perlstyle.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perlsub.pod + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perlsyn.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perltie.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perltoc.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Changed Larry's address to larry@wall.org. + +Index: pod/perltrap.pod + + Date: Wed, 11 Sep 1996 13:26:18 -0400 + From: Gurusamy Sarathy + Subject: a perl425 trap + + Here's an addition that should be self-explanatory. + [interpolation issues] + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/perlvar.pod + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Date: Wed, 02 Oct 1996 16:52:08 -0400 + From: Roderick Schertler + Subject: documentation for $? in END + + Document the behavior with $? WRT END subroutines. + +Index: pod/perlxstut.pod + + Date: Wed, 11 Sep 1996 11:55:18 -0500 + From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu> + Subject: POD spelling patches + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: pod/pod2man.PL + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + + Bugs found in pod2man + + The following bugs were noticed, and some fixed: + + 1. Where a L<> link extends over more than one line, pod2man does not + treat it as a link but displays it literally, and so these have been + rearranged to place the link on one line. This is the only bug worked + around. [Fixed; the rearrangements, which were done beforehand, + remain in some cases, but are no longer necessary, and pod paragraphs + can now be safely reformatted to whatever width is desired in the pod, + without breaking links.] + + 2. It seems to swallow spaces after certain links: for example, part + of the "open" entry in the perlfunc manpage comes out as "the + \f(CWbinmode\fR entry elsewhere in this documentfor tips", the source + having been "L</binmode> for tips". [Fixed.] + + 3. 'L</"Pass by Reference">', in perlsub.pod, comes out as '\fI/"Pass + by Reference\fR', that is, with an initial '/"'. + + 4. If a pod line begins with ".", nothing is done to prevent [tng]roff + from treating it as a [tng]roff instruction. + + 5. When the paragraph below =head1 NAME has more than one line, this + confuses pod2man: so in the case of Term::Readline, the manpage begins + with a stray line 'no real package is found, substitutes stubs instead + of basic functions."'. + + Of course, it would be better to fix pod2man; I hope that the new Pod + modules, when ready, will not have these defects. + +Index: pp_ctl.c + + Restore the 5.003 gv_fullname() and gv_efullname() functions. + Provide new 3-arg forms gv_fullname3() and gv_efullname3(). + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + sortcmp() sprouted a LC_COLLATE branch. + +Index: pp_hot.c + + Restore the 5.003 gv_fullname() and gv_efullname() functions. + Provide new 3-arg forms gv_fullname3() and gv_efullname3(). + + Date: Thu, 19 Sep 1996 11:58:22 -0400 + From: "Randy J. Ray" <rjray@uswest.com> + Subject: Patch: Untaint FH flag and clean DATA handles + + This patch adds a IOf_UNTAINT flag in sv.h, as one of the possibles + on an xpvio->xio_flags struct member. It is used to mark the given + file handle as a clean source, even when tainting is turned on. + There are also patches to pp_sys.c in pp_sysread to check this flag + before tainting data, and in pp_hot.c in do_readline for the same + reason. Lastly, it patches toke.c to automatically set this flag on + on a __DATA__ filehandle. The creation of the $pack::DATA + pseudo-filehandle is already checked against running under eval, so + this should not introduce any insecurity. + + This patch *does not*: + + * Add the "untaint" keyword. + +Index: pp_sys.c + + Restore the 5.003 gv_fullname() and gv_efullname() functions. + Provide new 3-arg forms gv_fullname3() and gv_efullname3(). + + Date: Thu, 19 Sep 1996 11:58:22 -0400 + From: "Randy J. Ray" <rjray@uswest.com> + Subject: Patch: Untaint FH flag and clean DATA handles + + This patch adds a IOf_UNTAINT flag in sv.h, as one of the possibles + on an xpvio->xio_flags struct member. It is used to mark the given + file handle as a clean source, even when tainting is turned on. + There are also patches to pp_sys.c in pp_sysread to check this flag + before tainting data, and in pp_hot.c in do_readline for the same + reason. Lastly, it patches toke.c to automatically set this flag on + on a __DATA__ filehandle. The creation of the $pack::DATA + pseudo-filehandle is already checked against running under eval, so + this should not introduce any insecurity. + + This patch *does not*: + + * Add the "untaint" keyword. + + Date: Sun, 22 Sep 1996 17:26:57 -0400 + From: "Randy J. Ray" <rjray@uswest.com> + Subject: Patch to patch for untainting + + The following patch ensures that a glob used as a filehandle that + has had the UNTAINT flag set will not carry that flag over on a + re-open. In a nutshell, a re-open of the DATA filehandle would be + considered untainted, and an object of class IO::Handle (or one of + its sub-classes) that is marked untainted with the untaint method, + then closed and re-opened, retained the untaintedness. + + Date: Mon, 30 Sep 1996 00:54:37 -0400 + From: Spider Boardman + + First, with IO::untaint, the patches as posted resulted in a + miniperl which couldn't open files, so the autosplitting of the + library and the creation of Makefiles for the extensions didn't + work. Worse, it didn't just fail to open files, it dumped core. + +Index: proto.h + + Restore the 5.003 gv_fullname() and gv_efullname() functions. + Provide new 3-arg forms gv_fullname3() and gv_efullname3(). + + Date: Mon, 30 Sep 1996 01:13:28 -0400 + From: Spider Boardman + Subject: Re: pre extending hash? - need speed + + The patch below (which is relative to perl5.001l) implements + "keys %hash = 50_000;" (or other integer-evaluable sizes) for + pre-sizing hashes. I've only moved the patch forward from + when I first did it. I'm sure the code in hv_ksplit could be + improved. + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + mem_collxfrm() and perl_init_fold() added. + +Index: run.c + + Restore the 5.003 gv_fullname() and gv_efullname() functions. + Provide new 3-arg forms gv_fullname3() and gv_efullname3(). + +Index: sv.c + + Restore the 5.003 gv_fullname() and gv_efullname() functions. + Provide new 3-arg forms gv_fullname3() and gv_efullname3(). + + Date: Mon, 30 Sep 1996 01:13:28 -0400 + From: Spider Boardman + Subject: Re: pre extending hash? - need speed + + The patch below (which is relative to perl5.001l) implements + "keys %hash = 50_000;" (or other integer-evaluable sizes) for + pre-sizing hashes. I've only moved the patch forward from + when I first did it. I'm sure the code in hv_ksplit could be + improved. + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + + I've added some DEBUG_Ps to sv.c which give a trace of the + fast I/O fiddling with stdio in sv_gets(). These were useful + to me in setting up the VMS fast I/O, and I left them in in + case they're useful to someone in the future. However, if you + think it overloads -DP too much, feel free to drop it. (-DP + already adds a profile of op usage to its advertised output.) + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + sv_cmp() sprouted a LC_COLLATE branch. + +Index: sv.h + + Date: Thu, 19 Sep 1996 11:58:22 -0400 + From: "Randy J. Ray" <rjray@uswest.com> + Subject: Patch: Untaint FH flag and clean DATA handles + + This patch adds a IOf_UNTAINT flag in sv.h, as one of the possibles + on an xpvio->xio_flags struct member. It is used to mark the given + file handle as a clean source, even when tainting is turned on. + There are also patches to pp_sys.c in pp_sysread to check this flag + before tainting data, and in pp_hot.c in do_readline for the same + reason. Lastly, it patches toke.c to automatically set this flag on + on a __DATA__ filehandle. The creation of the $pack::DATA + pseudo-filehandle is already checked against running under eval, so + this should not introduce any insecurity. + + This patch *does not*: + + * Add the "untaint" keyword. + + Date: Fri, 20 Sep 1996 15:38:57 -0400 + From: Gurusamy Sarathy + Subject: Re: "Attempt to free non-existent shared string"? (with patch) + + I found a subtle problem with the lazydelete mechanism (which is used + to postpone the delete of a entry that may be getting iterated over). + I was using the HeKLEN slot to hold the hint, but the real HeKLEN is + needed later to call unsharepvn(). This means that only magical + hash entries can use the HeKLEN slot to hold flags. + + Here's a tested patch against 5.00305 that fixes the problem. + The patch simply moves the LAZYDEL hint to become a SV-level private + flag. + +Index: t/base/term.t + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + \n not necessarily lt ' '. + +Index: t/comp/package.t + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + XYZ not necessarily gt xyz. + +Index: t/lib/abbrev.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + + Date: 23 Sep 1996 11:33:01 +0200 + From: Ulrich Pfeifer + Subject: Text::Abbrev (Re: More standard library test scripts) + + This patch merges the Text::Abbrev related patches/tests from Gisle + and my previous patch (i.e. replaces both). + +Index: t/lib/anydbm.t + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + A not necessarily gt a. + +Index: t/lib/autoloader.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + + Date: Mon, 30 Sep 1996 00:54:37 -0400 + From: Spider Boardman + + The test and patches for AutoLoader were also non-functional, + since the regexp context (curpm) was still being clobbered by the + filename manipulations: + +Index: t/lib/basename.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + + Date: Mon, 30 Sep 1996 00:54:37 -0400 + From: Spider Boardman + + Fix the number of tests. + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + + A different set of tests for File::Basename and friends. + +Index: t/lib/checktree.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/complex.t + + Date: Thu, 03 Oct 96 18:38:08 +0200 + From: Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com> + # Complex numbers and associated mathematical functions + # -- Raphael Manfredi, Sept 1996 + + Tests for new version. + +Index: t/lib/db-btree.t + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + A not necessarily gt a. + +Index: t/lib/db-hash.t + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + A not necessarily gt a. + +Index: t/lib/env.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/fatal.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/filecache.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/filecopy.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/filefind.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/filepath.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/findbin.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/gdbm.t + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + A not necessarily gt a. + +Index: t/lib/getopt.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/hostname.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/ndbm.t + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + A not necessarily gt a. + +Index: t/lib/odbm.t + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + A not necessarily gt a. + +Index: t/lib/parsewords.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/sdbm.t + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + A not necessarily gt a. + +Index: t/lib/searchdict.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/selectsaver.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/symbol.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + + Date: Mon, 30 Sep 1996 00:54:37 -0400 + From: Spider Boardman + + The various new lib/*.t tests didn't all work. For some, it was + only because the count of tests was wrong: + +Index: t/lib/texttabs.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/textwrap.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/lib/timelocal.t + + Date: Sun, 22 Sep 1996 00:59:56 +0200 + From: Gisle Aas + Subject: More standard library test scripts + + This is a collection of test scripts for the standard library modules. + Some of the tests does not pass unless some of the patches I have sent + out are applied. + +Index: t/op/each.t + + Date: Mon, 30 Sep 1996 01:13:28 -0400 + From: Spider Boardman + Subject: Re: pre extending hash? - need speed + + The patch below (which is relative to perl5.001l) implements + "keys %hash = 50_000;" (or other integer-evaluable sizes) for + pre-sizing hashes. I've only moved the patch forward from + when I first did it. I'm sure the code in hv_ksplit could be + improved. + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + A not necessarily gt a. + +Index: t/op/glob.t + + Date: Tue, 01 Oct 1996 16:37:03 -0400 (EDT) + From: Charles Bailey + Subject: Re: glob test 1 failing...bad test or bug + + Under AIX 4.1.4, with LOCALE set en_GB (British english) glob test one + fails because <op/*> sorts op/re_* before op/rea*, while + $otherway = `echo op/*` sorts op/re_* after op/re[a-z]*.t + + This version doesn't rely on the sorting order. + +Index: t/op/magic.t + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + +Index: t/op/readdir.t + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + A not necessarily gt a. + +Index: t/op/sort.t + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + A not necessarily gt a. + +Index: toke.c + + Date: Sat, 14 Sep 1996 17:08:16 -0400 + From: Gurusamy Sarathy + Subject: whitespace induced lexer errors (with patch) + + I finally got around to fixing skipspace() to not indiscriminately + overwrite oldbufptr and oldoldbufptr (which are used in making + expectation decisions in the lexer). + + Date: Sat, 14 Sep 1996 18:55:16 -0400 + From: Gurusamy Sarathy + Subject: perl lexer won't accept C<my($a,$b);$a<=>$b;> + + Date: Thu, 19 Sep 1996 11:58:22 -0400 + From: "Randy J. Ray" <rjray@uswest.com> + Subject: Patch: Untaint FH flag and clean DATA handles + + This patch adds a IOf_UNTAINT flag in sv.h, as one of the possibles + on an xpvio->xio_flags struct member. It is used to mark the given + file handle as a clean source, even when tainting is turned on. + There are also patches to pp_sys.c in pp_sysread to check this flag + before tainting data, and in pp_hot.c in do_readline for the same + reason. Lastly, it patches toke.c to automatically set this flag on + on a __DATA__ filehandle. The creation of the $pack::DATA + pseudo-filehandle is already checked against running under eval, so + this should not introduce any insecurity. + + This patch *does not*: + + * Add the "untaint" keyword. + +Index: util.c + + Date: Mon, 7 Oct 1996 22:03:00 +0300 + From: Jarkko Hietaniemi + Subject: LC_COLLATE. + + Big patch to add, document, and test LC_COLLATE support. + + rewrote perl_init_i18n() completely. + - reworded to be much more friendly and clear. + - perl_init_fold() split to its own function. + wrote mem_collxfrm(). + +Index: utils/c2ph.PL + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: utils/h2ph.PL + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: utils/h2xs.PL + + Date: Sat, 21 Sep 1996 16:38:24 -0500 + From: Dean Roehrich + Subject: h2xs bug fix + + The h2xs that is in perl5.003_05 has a regexp bug which prevents it from + finding #define statements and filling the constant() function. This patch + fixes that. The h2xs_test program found this--maybe people who are + modifying h2xs should get a copy of the test program. + + This also adds a -d to enable debugging messages (there's just one for now). + I've also placed some of the doc-related things in alphabetical order. + + h2xs_test can be found in my directory on CPAN. Those of you modifying + xsubpp should know there's a test suite for that, too, called XSTEST which + can also be found in my directory on CPAN. + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + Here is a patch for various typos and other defects in the Perl + 5.003_05 pods, including the pods embedded in library modules. + +Index: utils/perldoc.PL + + Date: Sun, 29 Sep 1996 22:00:09 -0400 (EDT) + From: Kenneth Albanowski + Subject: perldoc patch + + Ilya has found that this change makes perldoc much more useful under OS/2. + +Index: vms/config.vms + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + +Index: vms/descrip.mms + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + +Index: vms/genconfig.pl + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + +Index: vms/perlvms.pod + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + +Index: vms/vms.c + + Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) + From: Charles Bailey + Subject: VMS patches to 5.003_05 + +Index: x2p/a2p.pod + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + This patch just changed the old a2p.man page into a pod page. + +Index: x2p/s2p.PL + + Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) + From: "Joseph S. Myers" <jsm28@hermes.cam.ac.uk> + Subject: Pod typos, pod2man bugs, and miscellaneous installation comments + + This patch just changed the old s2p.man page into a pod page. + I then embedded the pod into the s2p script. + + +---------------- +Version 5.003_05 +---------------- + +This patch was primarily to fix bugs and to clean up some of +the remaining issues from in 5.003_04. The details are described below. +A very brief summary is: + +o Visible Changes to Core Functionality + + -Add support for a READLINE method to tied filehandles. + + -times function now uses CLK_TCK if HZ is not available, rather + than just defaulting to 60. times output might change on some + systems, but should be correct now. + + -AnyDBM_File (modifying ISA does not work as expected) + Now behaves as documented: Modifying ISA works to select + order in which *DB* modules are tried. The default is still + the same. + +o Configure and build enhancements + + -Enhance detection of [gs]etpgrp() variants. Some systems have + BSD-style behavior for one and POSIX for the other. Use + [gs]etpgid() instead, whenever possible. + + -You can now build a shared libperl.so without running through + the LD_RUN_PATH hoops, if your system supports appropriate + ld command-line options. Solaris, NetBSD, and Linux are currently + supported. Others are easy to add. (This makes like a lot easier + for embedders.) + + -VMS updates. + + -Fix installperl and installman so that the -n option really only + prints commands. (previously, it would still do the mkdirs.) + +o Bug fixes + + -debugger ought to work. + + -A new heredoc tag in Makefile.SH is now quoted. This prevented + 5.003_04 from working most places. + + -numerous smaller ones, detailed below. + +o Specific Changes + +Here are the specific file-by-file changes. + +# This is my patch perl5.003_05.pat to perl5.003_04 +# The full description is below. +# Please execute the following commands before applying this patch. +# (You can feed this patch to 'sh' to do so.) +# -- Andy Dougherty + +# We'll create a new test, but patch won't automatically make it +# executable. +touch t/io/read.t +chmod +x t/io/read.t + +exit 0 + + +This is patch perl5.003_05.pat to perl version 5.003_04. +This takes you from 5.003_04 to 5.003_05. + +To apply this patch, run the above commands, +cd to your perl source directory and then type + + patch -p1 -N < perl5.003_05.pat + +The changes are described after each /^Index/ line below. This is +designed so you can examine each change with a command such as + + csplit -k perl5.003_05.pat '/^Index:/' '{99}' + +Index: Changes + + Updated for 5.003_05. + +Index: Configure + + Allow command line or hint-file overrides of $afs. + + Allow trailing spaces in nm output for HPUX10. + + Check for newer BIND 'search' directives in /etc/resolv.conf as well + as older 'domain' directive. + + Enhance detection of [gs]etpgrp() variants. Some systems have + BSD-style behavior for one and POSIX for the other. Use + [gs]etpgid() instead, whenever possible. + + Include -s in the -h summary of available options. + + Allow command-line override of $afs. + + Handle trailing spaces in nm-output on HPUX10. + + Set shrpenv for handling LD_RUN_PATH, if needed. (This used to + be in Makefile.SH. Now it's available for other modules too.) + + When using shared libperl, avoid LD_RUN_PATH if possible by adding + correct ld flags. Currently, Solaris and NetBSD get the correct + -R $archlibexp/CORE, and Linux gets its + -Wl,-rpath,$archlibexp/CORE flag. Other contributions are + welcome. + +Index: INSTALL + + Correct libperl5 -> libperl typo. + + Describe MakeMaker's Warning (will try anyway) messages. + + More info on where and how to send reports. + + Add info on non-Unix ports. + + +Index: MANIFEST + + Add new test t/io/read.t. + + Add new hints files for ODBM_File for ultrix and hpux. + + Add new pod checker script. + +Index: Makefile.SH + + A new heredoc tag in Makefile.SH needs to be quoted. + + shrpenv stuff moved to Configure. + +Index: Porting/Glossary + + Updated to match Configure. + +Index: README.vms + + VMS 5.003_05 Update. + +Index: av.h + + Subject: turbidity in av.[ch] + Date: Sun, 10 Dec 1995 00:21:31 -0500 + From: Gurusamy Sarathy + + Some unclean code that I noticed today. + +Index: config_H + + Updated to match newest config_h.SH. + +Index: config_h.SH + + Updated to match Configure. + + Changed the DLSYM_NEEDS_UNDERSCORE comment to + /**/ to conform to metaconfig style. + +Index: emacs/cperl-mode.el + + From: Ilya Zakharevich + Subject: Newer CPerl-mode + +Index: ext/DB_File/DB_File.pm + + Update to DB_File 1.03. + +Index: ext/DB_File/DB_File.xs + + Update to DB_File 1.03. + +Index: ext/Fcntl/Fcntl.pm + + Date: Thu, 5 Sep 1996 18:19:14 -0400 (EDT) + From: Chip Salzenberg + Subject: No AutoLoader for Fcntl + + Just like Socket, Fcntl doesn't need splitting and AutoLoading. + +Index: ext/FileHandle/FileHandle.pm + + From: Roderick Schertler + Subject: FileHandle::DESTROY for fd 0 + + This fixes FileHandle::DESTROY when called on stdin. + +Index: ext/ODBM_File/ODBM_File.xs + + Attempt to correct for "Bad free" in Ultrix and HPUX versions of + odbm. + +Index: ext/ODBM_File/hints/hpux.pl + + Try to work around "bad free" in dbmclose(). + +Index: ext/ODBM_File/hints/ultrix.pl + + Try to work around "bad free" in dbmclose(). + +Index: ext/Socket/Socket.pm + + Date: Thu, 5 Sep 1996 09:58:08 +0200 + From: Andreas Koenig + Subject: Patch to inhibit autosplit on Socket.pm + + This patch inhibits production and use of a completely useless + auto/Socket/autosplit.ix. + +Index: handy.h + + Make a little more C++-friendly for IBM's CSET++ compiler. + +Index: hints/convexos.sh + + Remove [gs]etpgrp workaround. Configure & perl.h should handle + this now. + +Index: hints/hpux.sh + + Add note about possible gcc GR3 warning message. + + Remove [gs]etpgrp workaround. Configure & perl.h should handle + this now. + +Index: hints/sco.sh + + Turn off optimization for stock cc. This appears to + prevent miniperl core dumps. + +Index: hints/solaris_2.sh + + Catch GNU ld even though it doesn't identify itself as a GNU tool. + Thanks to Tim Pierce <twpierce@midway.uchicago.edu>. + +Index: hints/sunos_4_1.sh + + Describe solution for the __lib_version problem with acc on + SunOS. + +Index: hv.c + + Date: Thu, 05 Sep 1996 00:25:28 -0400 + From: Gurusamy Sarathy + Subject: minor misc. cleanup + + This patch makes some minor cleanups to the sources. No change + in functionality whatsoever. + + Date: Thu, 05 Sep 1996 02:52:21 -0400 + From: Gurusamy Sarathy + + Subject: debugger problems--another patch (was Re: 5.003_04) + + I have tried to avoid copying of hash keys that are passed to + magical hashes, but it seems that copying may be unavoidable + since the hv_*_ent() functions could be PADTMPs (and other + SVs that may get reused) as keys. + + VMS dynamic %ENV fix + +Index: installman + + From: scotth@sgi.com + Subject: Re: installperl feature request (was: Re: Upgrade 4.0x to 5.001m) + + Fix installperl so that the -n option really only prints commands. + (previously, it would still do the mkdirs.) + + an "ignore installed" option, so that it doesn't bother to check + to see if the target already exists (an optimization that I + *don't* want it to do when I do #1 above) + +Index: installperl + + From: scotth@sgi.com + Subject: Re: installperl feature request (was: Re: Upgrade 4.0x to 5.001m) + + Fix installperl so that the -n option really only prints commands. + (previously, it would still do the mkdirs.) + + an "ignore installed" option, so that it doesn't bother to check + to see if the target already exists (an optimization that I + *don't* want it to do when I do #1 above) + +Index: lib/AnyDBM_File.pm + + AnyDBM_File (modifying ISA does not work as expected) + Now behaves as documented: Modifying ISA works to select + order in which *DB* modules are tried. The default is still + the same. + + + Add helpful "die" message to end of AnyDBM_File. Previously + it would return a 0, and the failure would eventually show up + somewhere else in the script and be hard to track down. It is + a failure if perl can't open AnyDBM_File. The test regression + suite is supposed to indicate this as a failure too. + +Index: lib/ExtUtils/Install.pm + + Updated to MakeMaker-5.38. + + Fix for VMS utime. + +Index: lib/ExtUtils/Liblist.pm + + Updated to MakeMaker-5.38. + +Index: lib/ExtUtils/MM_Unix.pm + Updated to MakeMaker-5.38. + +Index: lib/ExtUtils/MakeMaker.pm + + Updated to MakeMaker-5.38. + + Updated to MakeMaker-5.39 to allow CFLAGS in hint files. + +Index: lib/ExtUtils/Manifest.pm + + Updated to MakeMaker-5.38. + +Index: lib/ExtUtils/Mkbootstrap.pm + + Updated to MakeMaker-5.38. + +Index: lib/ExtUtils/Mksymlists.pm + + Updated to MakeMaker-5.38. + +Index: lib/File/Find.pm + + From: Michael Mahan <mahanm@nextwork.rose-hulman.edu> + Subject: Cwd::fastcwd in File::Find + + Is there a good reason why File::Find uses Cwd::fastcwd instead of + Cwd:cwd when fastcwd isn't as portable? + [In particular, fastcwd() doesn't work on AFS.] + +Index: lib/Math/Complex.pm + + There was a mistake in the sqrt routine in lib/Math/Complex.pm that + gave wrong answers when the magnitude of the imaginary part of the + argument exceeded the magnitude of the real part. Line 69 had too + many sqrt($y)'s. Further, expressions were re-arranged so that + calls to the expensive real sqrt() routine were reduced from 4 to 2 + in this case. + +Index: lib/open3.pl + + The I/O directions on the dad_wtr and kid_rdr were backwards. + IO/Open3.pm didn't have this error. + +Index: lib/syslog.pl + + Date: Tue, 03 Sep 1996 20:33:54 -0400 + From: Roderick Schertler + Subject: syslog.pl `use Socket' lossage + + syslog.pl tries but fails to use + Socket.pm, the problem is that use doesn't return a true value. This + module should be recast in terms of Sys::Syslog, of course. + +Index: makedepend.SH + + This patch eliminates "\|" in sed patterns in makedepend.SH, since + they're not really needed anyway in this one case. + +Index: mg.c + + Ok, here's a tested patch for the debugger problem. + I was missing the fact that DB::dbline magic is actually + uppercase (which means hv_store_ent() etc., will pass SV keys + to the vtbl_dbline handlers). + + Replace the oft-repeated mg_ptr incantation with + the simple MgPVKEY macro. + + Rename MgPVKEY to MgPV (to match with HePV elsewhere). Add + additional parens around the "mg". + + (lines near 584) Part of VMS changes. I don't know what this did. + + Date: Fri, 23 Aug 1996 17:20:22 -0400 (EDT) + From: Chip Salzenberg + Subject: Integerize mg.c; eliminate warning on C< local($)) > + + This patch converts magic variables ($!, $^E, etc.) to use integers + (C<sv_setiv>) instead of floats. It also eliminates a warning from + C< local($)) >, via a hack similar to $!. + +Index: mg.h + + Replace the oft-repeated mg_ptr incantation with + the simple MgPVKEY macro. + + Rename MgPVKEY to MgPV (to match with HePV elsewhere). Add + additional parens around the "mg". + +Index: nostdio.h + + Add _STDIO_LOADED (VMS) to list of guard symbols. + +Index: op.c + + From: Gurusamy Sarathy + Subject: Re: \ ( @array ) busted for lexical @array (once more) + +Index: patchlevel.h + + Change to subversion 5. + +Index: perl.c + + Make floating point constants Locale-friendly. + +Index: perl.h + + One last LONG & co. fix (yet another cut'n'paste error) and a few + minor cleanups. Nothing crucial. + + Make a little more C++-friendly for IBM's CSET++ compiler. + + Enhance detection of [gs]etpgrp() variants. Some systems have + BSD-style behavior for one and POSIX for the other. Use + [gs]etpgid() instead, whenever possible. + +Index: perlio.c + + Eliminate potential "signed vs. unsigned" warning + + Add PerlIO_reopen and PerlIO_cgetname functions. + +Index: perlsdio.h + + Don't supply redundant parameters for PerlIO_open and PerlIO_fdopen. + + Include PerlIO_reopen and PerlIO_getname. + + s/FILE_(CNT|PTR)_LVALUE/STDIO_(CNT|PTR)_LVALUE to fix a typo. + This had prevented SV_FAST_FGETS from working anywhere. + + Include PerlIO_canset_cnt. I'm not sure how this is supposed to + differ from STDIO_CNT_LVALUE. + +Index: pod/Makefile + + Remove trailing spaces in pods. + Include a call to the checkpods script in the Makefile (though it's + not ordinarily used by users). + +Index: pod/checkpods.PL + + New script to check for common errors in pods. This is not + normally called during the perl build process, but you can + use it with B<make check>. + +Index: pod/perlfunc.pod + + Document correct C<use POSIX ":wait_h";> usage. + + Add notes about POSIX [gs]etpgrp. + +Index: pod/perlipc.pod + + Document correct C<use POSIX ":wait_h";> usage. + +Index: pod/perlref.pod + + From: Gurusamy Sarathy + Subject: Re: \ ( @array ) busted for lexical @array (once more) + +Index: pod/perltie.pod + + Date: Thu, 29 Aug 1996 15:14:51 +0200 + From: Sven Verdoolaege <skimo@breughel.ufsia.ac.be> + Subject: more TIEHANDLE + + This adds support for a READLINE method. + +Index: pod/perltrap.pod + + Here's documentation on the change in split's behavior between Perl 4 + and Perl 5. + + Subject: More (and less!) 425traps + + Large integer traps + + Precedence + + warn STDERR + + Change blank lines to empty lines. + +Index: pod/perlvar.pod + + Be explicit about $/="" matching empty lines, that is, lines + with no spaces or tabs. + + Change blank lines to empty lines. + +Index: pp.c + + Date: Fri, 23 Aug 1996 17:22:40 -0400 (EDT) + From: Chip Salzenberg + Subject: Minor integer speedups in mathematics + + This patch provides minor speedups by using integer math and SVt_IV + values when performing bitwise operations and modulus. + + Date: Tue, 3 Sep 1996 17:49:22 -0400 (EDT) + From: Kenneth Albanowski + Subject: Pack Patch (was Re: 5.002 - pack/unpack does not do "I" right) + + (double)auint cast added for call to sv_setnv(). + +Index: pp_hot.c + + Date: Thu, 05 Sep 1996 00:25:28 -0400 + From: Gurusamy Sarathy + Subject: minor misc. cleanup + + This patch makes some minor cleanups to the sources. No change + in functionality whatsoever. + + Date: Thu, 29 Aug 1996 15:14:51 +0200 + From: Sven Verdoolaege <skimo@breughel.ufsia.ac.be> + Subject: more TIEHANDLE + + This adds support for a READLINE method. + +Index: pp_sys.c + + Clear any buffer space exposed by by read(). + This is almost certainly a bug-fix. + + Undef and then re-define my_chsize from Perl_my_chsize to + just plain chsize if this system HAS_CHSIZE. This probably only + applies to SCO. This shows the perils of having internal + functions with the same name as external library functions :-). + + Use CLK_TCK if HZ is not available. + +Index: sv.c + + Fix more spots where we had PerlIO_stderr() and should have had + Perl_debug_log instead. + + Date: Fri, 23 Aug 1996 17:26:42 -0400 (EDT) + From: Chip Salzenberg + Subject: Minor potential bug in AV creation + + I wasn't the one who originated this patch. But it looks like it + would improve the safety of AV creation. + + Remove potentially incorrect casts on PerlIO_set_ptrcnt. + 'ptr' is already STDCHAR, which is supposed to be the type of + char used in stdio.h, so we shouldn't have to cast it. + +Index: t/io/read.t + + Clear any buffer space exposed by by read(). + This is almost certainly a bug-fix. + +Index: t/lib/db-btree.t + + Update to DB_File 1.03. + +Index: t/lib/db-hash.t + + Update to DB_File 1.03. + +Index: t/lib/db-recno.t + + Update to DB_File 1.03. + +Index: t/lib/io_sock.t + + From: Lupe Christoph <lupe@alanya.m.isar.de> + Subject: Perl 5.003.03: race condition in t/lib/io_sock.t + + io_sock.t works by forking a subprocess it can communicate with. + It has the subprocess wait for the main process by sleeping 10 + seconds or until an alarm arrives. + + With my setup, the alarm signal arrives *before* the child + has a chance to ignore the alarm signal. + + I fixed this by moving the "$SIG{ALRM} = sub {};" up before the + fork. It does not hurt to have the parent ignore alarms, too. + +Index: t/op/inc.t + + One last LONG & co. fix (yet another cut'n'paste error) and a few + minor cleanups. Nothing crucial. + +Index: t/op/misc.t + + Date: Thu, 29 Aug 1996 15:14:51 +0200 + From: Sven Verdoolaege <skimo@breughel.ufsia.ac.be> + Subject: more TIEHANDLE + + This adds support for a READLINE method. + +Index: t/op/pack.t + + Date: Tue, 3 Sep 1996 17:49:22 -0400 (EDT) + From: Kenneth Albanowski + Subject: Pack Patch (was Re: 5.002 - pack/unpack does not do "I" right) + +Index: t/op/ref.t + + From: Gurusamy Sarathy + Subject: Re: \ ( @array ) busted for lexical @array (once more) + +Index: universal.c + + Date: Thu, 29 Aug 96 07:05:10 BST + From: Graham Barr + Subject: Re: UNIVERSAL::class busted + + yes, but I also noticed that this does not check that the reference + is an object, so the patch should be + +Index: unixish.h + + Change comment style so that IBM's picky xlc compiler doesn't + think we've mistakenly tried to nest comments. + +Index: util.c + + One last LONG & co. fix (yet another cut'n'paste error) and a few + minor cleanups. Nothing crucial. + +Index: utils/h2xs.PL + + Date: Fri, 6 Sep 1996 06:09:20 -0400 (EDT) + From: Ilya Zakharevich + Subject: updated h2xs + + Changes: + a) Docs and examples for -x updated; + b) Path to xxxx.h would not be changed to /usr/include/xxxx.h + unless this file exists (outside of VMS, I'm afraid to make an error + there). - Useful with -x option, when the file may be eaten via -I + inside -F. + c) .h file would be scanned only if needed. + d) typemap would be generated (with T_PTROBJ). + e) Documentation (=list) for autogenerated guys would be + included into POD. + f) duplicated XSUBs would not be generated; + g) arguments to XSUBs being arrays are recognized (note that + xsubpp would probably choke on such guys). + + -x option requires C-Scan-0.3 (releases a couple of minutes ago to + ftp://ftp.math.ohio-state.edu/pub/users/ilya/perl + should propagate to CPAN soon). + +Index: utils/perlbug.PL + + Fix typo $Config{'has_sockets'} ought to be $Config{'d_socket'}; + +Index: utils/perldoc.PL + + More choices in the pager war. Unfortunately, we can't rely on + all users agreeing with the Sysadmin's choice, nor can we + assign a default preference order, since opinions vary. If the + user doesn't have $ENV{PAGER} set, we do want to pick up one that + at least works, so we'll try whatever Configure found. + +Index: vms/Makefile + + VMS 5.003_05 Update. + +Index: vms/config.vms + + VMS 5.003_05 Update. + +Index: vms/descrip.mms + + VMS 5.003_05 Update. + +Index: vms/ext/Stdio/Stdio.pm + + VMS 5.003_05 Update. + +Index: vms/ext/filespec.t + + VMS 5.003_05 Update. + +Index: vms/gen_shrfls.pl + + VMS 5.003_05 Update. + +Index: vms/perlvms.pod + + VMS 5.003_05 Update. + +Index: vms/vms.c + + VMS 5.003_05 Update. + +Index: vms/vmsish.h + + VMS 5.003_05 Update. + + +---------------- +Version 5.003_04 +---------------- + +This patch was primarily to fix bugs and to clean up some of +the changes made in 5.003_03. The details are described below. +A very brief summary is: + +o Visible Changes to Core Functionality + + -Allow and document permissions for FileHandle::new and + IO::File::new. + -glob in Safe compartment used to allow shell access; now + it's in the same category as `` and system(). + +o Configure and build enhancements + + -perl library name is again -lperl, not -lperl5 in some cases. + -Several hint files no longer set -g -DDEBUGGING by default. + Instead, they just turn off optimization, since that is + probably what was intended. + -Include OS/2 and Plan9 updates. + +o Bug fixes + + -SEGV with $_[0] and circular references fixed. + -Ilya's debugger patch. + -FAKE typeglobs fixed. + -truncate with file name now works. + -lval substr() no longer coredumps with refs + -lval substr now clears lexicals in re-entered scopes. + -core dump in caller() for signal handler for __DIE__. + +o Specific Changes + +Here are the specific file-by-file changes. + +# This is my patch perl5.003_04.pat to perl5.003_03 +# The full description is below. +# Please execute the following commands before applying this patch. +# (You can feed this patch to 'sh' to do so.) +# -- Andy Dougherty + +# Obsolete perl4 hint file. +rm -f hints/dnix.sh +# Obsolete +rm -f os2/notes + +# We'll create a new test, but patch won't automatically make it +# executable. +touch t/op/gv.t +chmod +x t/op/gv.t + +exit 0 + + +This is patch perl5.003_04.pat to perl version 5.003_03. +This takes you from 5.003_03 to 5.003_04. + +To apply this patch, run the above commands, +cd to your perl source directory and then type + + patch -p1 -N < perl5.003_04.pat + +The changes are described after each /^Index/ line below. This is +designed so you can examine each change with a command such as + + csplit -k perl5.003_04.pat '/^Index:/' '{99}' + +Index: Changes + + Updated for 5.003_04. + +Index: Configure + + Change name of shared libperl library back to libperl.so.xxx, + so that a simple -lperl picks up either libperl.a or + libperl.so.xxx. + + Check if $sh='' in case we've reloaded an old config.sh + +Index: INSTALL + + Change name of shared perl library to libperl, instead of + libperl5. + + Add notes about fragility of shared libperl and the usefulness + of archlib to separate different binaries. + +Index: MANIFEST + + os2/notes removed + + obsolete hints/dnix.sh removed. + + New typeglob test. + +Index: Makefile.SH + + For building shared libperl, relocate whole rule to + inside the if test -f $osname/Makefile.SHs case. + +Index: Porting/Glossary + + Updated. + +Index: README.os2 + + Updated. + +Index: av.c + + Subject: Re: SEGV with $_[0] and circular references + + Subject: random cleanup + + This patch removes a few obvious redundancies in the source. + +Index: config_H + + Updated. Note new comments to make AIX happy. + +Index: config_h.SH + + Change /*#define../**/ into /*#define../ **/ + to make IBM's xlc compiler shut up about nested comments. + The /*#define FOO /**/ is a perfectly legal un-nested comment, and + I wish IBM would fix it's blasted compiler instead. In the meantime + we'll take mercy on the poor AIX user and get rid of the screenfulls + of stupid warning messages. Thanks to Hallvard B Furuseth for the fix. + +Index: dump.c + + This patch changes neither behavior nor performance. However, it does + reduce code size and improve maintainability by combining some common + code in gv_fullname() and gv_efullname(). + +Index: ext/FileHandle/FileHandle.pm + + This patch documents the behavior of FileHandle::{new,open} with + regard to open modes. It also documents the exportation of Fcntl + constants. + + This patch fixes a bug observed by Tom Christiansen: FileHandle::new + didn't allow for file permissions after the file mode. Here's a patch. + +Index: ext/IO/lib/IO/File.pm + + This patch fixes a bug observed by Tom Christiansen: IO::File::new + didn't allow for file permissions after the file mode. Here's a patch. + + This patch documents the behavior of IO::File::{new,open} with + regard to open modes. It also documents the exportation of Fcntl + constants. + +Index: ext/Opcode/Opcode.pm + + Subject: Re: glob in Safe compartment allows shell access + + I've moved the glob op into the same opcode tag as backticks and system + and added a comment. + +Index: gv.c + + This patch changes neither behavior nor performance. However, it does + reduce code size and improve maintainability by combining some common + code in gv_fullname() and gv_efullname(). + +Index: handy.h + + Subject: Patch for LONG_MAX & co. + + Sorry about adding yet another #ifdef forest, but hopefully this + should resolve the *_MAX issues permanently. It adds to the + previously defined PERL_LONG_MAX, PERL_LONG_MIN, and PERL_ULONG_MAX + symbols the complete set of + /PERL_U?(CHAR|SHORT|INT|LONG)_(MAX|MIN)/, and installs aliases to + those from /(I|U)(8|16|32|V)_(MAX|MIN)/ so that for any standard + Perl typedef, like I32 or UV, you can reference I32_MAX or UV_MIN, + and get appropriate figures. All references to LONG_(MIN|MAX) are + changed appropriately. + + The .c changes have the side effect of making cast_uv properly use quad + limits if quads are in use, but longs aren't 64 bit. Hopefully this all + works, but I don't have any handy Crays to try it out on. + + Add notes on perl's internal types, specifically Quad_t and IV. + +Index: hints/hpux.sh + + Remove the d_bsdpgrp hint. The defaults should be ok. + +Index: hints/irix_6_2.sh + + Change optimize=-g to optimize=none to avoid pulling in -DDEBUGGING, + unless that's what the user really wants. + +Index: hints/mpeix.sh + + Change optimize=-g to optimize=none to avoid pulling in -DDEBUGGING, + unless that's what the user really wants. + +Index: hints/os2.sh + + Fixes for sh vs. bin_sh + cleanup. + +Index: hints/ultrix_4.sh + + Don't call optimize=-g, just call optimize=none. The -g + pulls in -DDEBUGGING, which might not be wanted. + +Index: lib/ExtUtils/MM_Unix.pm + + .C$(obj_ext) removed under OS/2 - conflicts with .c$(obj_ext). + +Index: lib/ExtUtils/xsubpp + + Fix SCOPE? (See pod/perlxs.pod). + Up version number to 1.938. + +Index: lib/Test/Harness.pm + + Add a return value to runtests - non-zero if all tests ran ok, + zero otherwise. + +Index: lib/perl5db.pl + + Ilya's debugger patch. + Undefined subroutine &Carp::longmess called at + /opt/perl5.003_03/lib/perl5db.pl line 1423. + + + Make perl5db compatible with the recent 'strict refs' enforcement + in %SIG. + +Index: malloc.c + + A patch to perl5.003_02/malloc to give a sensible error abort() message + in ANSI C, and to give it to stderr instead of stdout. + + Use config_h's STRINGIFY macro instead of pre-ANSI "p". + +Index: mg.c + + Subject: FAKE typeglobs seriously busted (with patch) + + Handling of fake typeglobs (scalars that are really globs + in disguise) is seriously busted since 5.002 (it wasn't + so in 5.001n). + The problem is that mg_get() on a glob calls gv_efullname() + which might coerce its first arg to a string. + + Sub-critical patch to conceivably fix some %SIG problems. (Shared hash key + weren't being properly detected by some of the sig magic, but as shared + hash keys wouldn't normally be used in %SIG it's unlikely this is a + significant problem.) + + This patch changes neither behavior nor performance. However, it does + reduce code size and improve maintainability by combining some common + code in gv_fullname() and gv_efullname(). + +Index: myconfig + + Update perlio-related variables. + +Index: op.c + + This patch changes neither behavior nor performance. However, it does + reduce code size and improve maintainability by combining some common + code in gv_fullname() and gv_efullname(). + +Index: opcode.h + + Updated. See opcode.pl. + +Index: opcode.pl + + Subject: Re: truncate with file name does not work (with patch) + + The prototype for truncate was changed so that perl won't die + with C<use strict;> when the first arg is a bareword (filehandle). + I think it was Tom (as in "tchrist") who brought this up. + + Here's a patch that undoes the damage, makes it work with + C<use strict;>, and adds to the testsuite. + +Index: os2/Makefile.SHs + + perllib vs. LIBPERL + +Index: os2/diff.configure + + Updated. + +Index: os2/os2.c + + SH_PATH_INI vs. BIN_SH + +Index: os2/os2ish.h + + SH_PATH_INI added (needed to redefine SH_PATH for binary + distribution). + SH_PATH is redefined. + +Index: patchlevel.h + + SUBVERSION 4. + +Index: perl.h + + Subject: Patch for LONG_MAX & co. + + Sorry about adding yet another #ifdef forest, but hopefully this + should resolve the *_MAX issues permanently. It adds to the + previously defined PERL_LONG_MAX, PERL_LONG_MIN, and PERL_ULONG_MAX + symbols the complete set of + /PERL_U?(CHAR|SHORT|INT|LONG)_(MAX|MIN)/, and installs aliases to + those from /(I|U)(8|16|32|V)_(MAX|MIN)/ so that for any standard + Perl typedef, like I32 or UV, you can reference I32_MAX or UV_MIN, + and get appropriate figures. All references to LONG_(MIN|MAX) are + changed appropriately. + + The .c changes have the side effect of making cast_uv properly use quad + limits if quads are in use, but longs aren't 64 bit. Hopefully this all + works, but I don't have any handy Crays to try it out on. + + Add notes on perl's internal types, specifically Quad_t and IV. + +Index: perlio.c + + Removes an incorrect prototype for setlinebuf from + perlio.c because it conflicts with the correct declaration in + MachTen's stdio.h (and possibly other stdio's as well). + + Secondly, the code in perlio.c is not handling the (!PERLIO_IS_STDIO & + HAS_F[GS]ETPOS) case. The patch fixes this omission (in a rather lumpen + manner). I don't think this should affect platforms which try to hack a + different path through the #ifdef forest, but this assertion would benefit + from testing... + + Dominic Dunlop + +Index: plan9/config.plan9 + + Updated. + +Index: plan9/fndvers + + Updated. + +Index: plan9/mkfile + + Updated. + +Index: plan9/setup.rc + + Updated. + +Index: pod/perldiag.pod + + Subject: lval substr() coredumps with refs (with patch) + + substr() coredumps with a target that is a ref, when it is used in + an lvalue context. + The patch below corrects the problem by stringifying the reference + first (and emitting a warning when appropriate). + +Index: pod/perlxs.pod + + document xsubpp SCOPE: + +Index: pp.c + + Subject: lval substr() fails to clear lexicals in re-entered scopes (with patch) + + substr() in lvalue context interacts in buggy fashion with SVs that + are !SvOK. This manifests itself with lexicals that have a REFCNT of + 1, since these are merely "cleared in place" by setting SvOK_off. + + Subject: lval substr() coredumps with refs (with patch) + + substr() coredumps with a target that is a ref, when it is used in + an lvalue context. + The patch below corrects the problem by stringifying the reference + first (and emitting a warning when appropriate). + + Subject: Patch for LONG_MAX & co. + +Index: pp_ctl.c + + This patch changes neither behavior nor performance. However, it does + reduce code size and improve maintainability by combining some common + code in gv_fullname() and gv_efullname(). + +Index: pp_hot.c + + Subject: Patch for LONG_MAX & co. + + This patch changes neither behavior nor performance. However, it does + reduce code size and improve maintainability by combining some common + code in gv_fullname() and gv_efullname(). + +Index: pp_sys.c + + This patch changes neither behavior nor performance. However, it does + reduce code size and improve maintainability by combining some common + code in gv_fullname() and gv_efullname(). + +Index: proto.h + + This patch changes neither behavior nor performance. However, it does + reduce code size and improve maintainability by combining some common + code in gv_fullname() and gv_efullname(). + +Index: run.c + + This patch changes neither behavior nor performance. However, it does + reduce code size and improve maintainability by combining some common + code in gv_fullname() and gv_efullname(). + +Index: sv.c + + Subject: random cleanup + + This patch removes a few obvious redundancies in the source. + + Subject: sv_setsv patch + + This patch changes neither behavior nor performance. However, it does + reduce code size and improve maintainability by combining some common + code in gv_fullname() and gv_efullname(). + + From: Chip Salzenberg + Subject: Track SVs for destruction when -DPURIFY + + When checking for memory leaks, I compiled Perl with "-DPURIFY". + Although that flag improves the leak checking, it also breaks + destruction of global objects, because SVs aren't kept in captive + arenas any more. + + This patch rectifies the problem by providing an alternative + method for keeping track of SVs when Perl is compiled for Purify. + It has no effect on normal operation. + + + Add comment about assert(len >=0) when len is unsigned anyway. + +Index: t/io/fs.t + + Subject: Re: truncate with file name does not work (with patch) + + The prototype for truncate was changed so that perl won't die + with C<use strict;> when the first arg is a bareword (filehandle). + I think it was Tom (as in "tchrist") who brought this up. + + Here's a patch that undoes the damage, makes it work with + C<use strict;>, and adds to the testsuite. + + The "not implemented" branch is missing a "\n". + +Index: t/op/gv.t + + Subject: FAKE typeglobs seriously busted (with patch) + + Handling of fake typeglobs (scalars that are really globs + in disguise) is seriously busted since 5.002 (it wasn't + so in 5.001n). + + The problem is that mg_get() on a glob calls gv_efullname() + which might coerce its first arg to a string. + +Index: t/op/substr.t + + + Subject: lval substr() fails to clear lexicals in re-entered scopes (with patch) + + substr() in lvalue context interacts in buggy fashion with SVs that + are !SvOK. This manifests itself with lexicals that have a REFCNT of + 1, since these are merely "cleared in place" by setting SvOK_off. + + Subject: lval substr() coredumps with refs (with patch) + + substr() coredumps with a target that is a ref, when it is used in + an lvalue context. + The patch below corrects the problem by stringifying the reference + first (and emitting a warning when appropriate). + +Index: toke.c + + Subject: Re: truncate with file name does not work (with patch) + + The prototype for truncate was changed so that perl won't die + with C<use strict;> when the first arg is a bareword (filehandle). + I think it was Tom (as in "tchrist") who brought this up. + + Here's a patch that undoes the damage, makes it work with + C<use strict;>, and adds to the testsuite. + +Index: util.c + + Subject: Re: Perl 5.003 dumps core executing caller() in signal handler for + __DIE__ (with patch) + + sv_2pv() might call croak() (which is not prepared to handle that + when it calls sv_2pv(), itself). Likewise for warn() (but under + slightly more esoteric circumstances--mg_get() in sv_2pv() might + trigger a call to warn()). + + + Subject: Patch for LONG_MAX & co. + + PERL_BADLANG is examined by default before issuing a warning during + internationalization. + +Index: utils/h2xs.PL + + Make leading =head NAME item a paragraph so pod2man finds it. + +Index: utils/perldoc.PL + + Use col -x to filter out half-line feeds (ESC-9) from + HP-UX nroff -man output. (col -x isn't portable -- SunOS + doesn't support the -x option.) + + +---------------- +Version 5.003_03 +---------------- + +Most of the changes in 5.003_03 are to make the build and installation +process more robust. The details are described below. A very brief +summary is: + +o Visible Changes to Core Functionality + + -Support for tied filehandles. + +o Configure enhancements + + -How to build and install a shared libperl.so is now documented + and supported, though it's not the default for most platforms. + +o Bug fixes + + -Support bit operations on strings longer than 15 bytes. + + -If a regex supplied to split() contains paranthesized subpatterns + that can result in null matches, perl no longer coredumps. + + -Fix problems with each() on tied hashes. + + -Make h2ph architecture-independent by using Config at run-time + rather than extraction time. + +o Specific Changes + +Here are the specific file-by-file changes. + +# This is my patch perl5.003_03.pat to perl5.003_02 +# The full description is below. +# Please execute the following commands before applying this patch. +# (You can feed this patch to 'sh' to do so.) +# -- Andy Dougherty + +# Absorbed into Changes5.002 +rm -f Changes.Conf + +# Not needed. +rm -f ext/POSIX/mkposixman.pl + +# Moved to README.os2. I'm not sure why the README files are +# here rather than in the appropriate subdirectories. +rm -f os2/README + +# Not needed. +rm -f pod/Makefile.PL + +# New test for bit ops. +touch t/op/bob.t + +# Patches that create new tests don't always make them executable. +chmod +x t/*/*.t + +# Create a new directory for Porting and Patching info. +mkdir Porting + +exit 0 + +This is patch perl5.003_03.pat to perl version 5.003_02. +This takes you from 5.003_02 to 5.003_03. + +To apply this patch, run the above commands, +cd to your perl source directory and then type + + patch -p1 -N < perl5.003_03.pat + +The changes are described after each /^Index/ line below. This is +designed so you can examine each change with a command such as + + csplit -k perl5.003_03.pat '/^Index:/' '{99}' + +Index: Changes + + Include 5.003_03 change notes. + + Move older change notes to separate files. + +Index: Changes5.000 + + New file. Changes from perl4.036 to 5.000. + +Index: Changes5.001 + + New file. Changes from 5.000 to 5.001 + +Index: Changes5.002 + + New file. Changes from 5.001 to 5.002 + +Index: Changes5.003 + + New file. Changes from 5.002 to 5.003 + +Index: Configure + + Relaxed warning about ksh on exotic machines. + + Changed usesafe to useopcode. + + Add search for gzip and zip. + + Look more carefully for $sh (the Bourne-ish shell). + Use that info to set $startsh correctly. + + Change prompts for PerlIO interface. See INSTALL + for how this is supposed to work. The default is + still the same as in 5.003_02, namely don't use + any fancy new PerlIO stuff. + + Don't look for sigvec() since we don't actually use it. + (Plus, it used to print an alarming misleading message about + race conditions.) + + Look for stdio's _filbuf under the possible names of + _filbuf, __filbuf, and _fill. + + New $useshrplib variable to control whether we build a shared + libperl.so. The name of the library is in $libperl. + Always install it in $installarchlib/CORE/$libperl. + + Check for <sys/resource.h> and <sys/wait.h> for NetBSD. + + Replace old $altmake stuff with newer autoconf-ish + $make_set_make, which checks if $make sets $(MAKE). Now you + choose an alternate make with sh Configure -Dmake=gmake (or + whatever). + + Remove 'ln' for the list of essential commands. Simulate + it with 'cp' if necessary. + + Change `logname` prompts to handle extra gratuitous spaces in + Ultrix output. + + Autodetect os2. + + Fix silly bug in checking for fully-qualified names in /etc/hosts. + + Generalize Gconvert tests. Give correct and more useful + error messages. + + Use $obj_ext instead of literal '.o' in the dynaloader test. + + Include appropriate header files in bcopy() and memcpy() + tests. Note whether memmove is available. + + Check whether struct sigaction works (needed for Solaris 2.5 + with -Xc). + + Include appropriate header files for randbits test. + +Index: INSTALL + + Add note about space requirements. + + Update to match Configure changes (Opcode vs. Safe, + useperlio, useshrplib, etc.) + + Reorganize the structure of some of the hints. + + Miscellaneous clarifications. + +Index: MANIFEST + + Updated. 5.003_02 introduced some massive patches, mostly + due to spacing changes. I didn't bother to sort them all out; + I just started with 5.003's MANIEFST. + +Index: Makefile.SH + + Support the new simplified shared libperl mechanism. + + Use new $make_set_make directive. + + Remove redundant libperl Make variable. + + Remove unnecessary MAB variable. + + Remove dependency of minitest on lib/Config.pm, since it could + well have been a failure of configpm that inspired testing + miniperl in the first place! + +Index: Porting/Glossary + + New file describing all the config.sh variables. + Eventually, I hope to fill this directory with other useful + stuff. + +Index: README.os2 + + Replace old README.os2 with more up-to-date os2/README. + +Index: config_H + + Updated to match current Configure and config_h.SH. + Some rearrangement of parts has occurred due to new + dependencies in the metaconfig units. + +Index: config_h.SH + + Updated to match current Configure and config_h.SH. + Some rearrangement of parts has occurred due to new + dependencies in the metaconfig units. + + Include full descriptions of ARCHLIB, OLDARCHLIB, PRIVLIB, + SITEARCH, and SITELIB. Previous versions just included the + ~-expanded names (with unhelpful descriptions). No functionality + is changed, but maybe it's a little better documented now. + +Index: doio.c + + Possibly Include <signal.h> and <unistd.h> + +Index: doop.c + + No longer prefer bcmp over memcmp when order doesn't matter. + + Support bit operations on strings longer than 15 bytes. + +Index: embed.h + + Auto-generated. + +Index: embed.pl + + Expand warning at the top. + +Index: ext/IO/IO.pm + + Clean up docmentation installation errors. + +Index: ext/IO/lib/IO/Seekable.pm + + Clean up docmentation installation errors. + +Index: ext/IO/lib/IO/Select.pm + + Clean up docmentation installation errors. + +Index: ext/Opcode/Opcode.xs + + Add support for tied filehandles. + +Index: ext/SDBM_File/sdbm/sdbm.h + + Change the Mymalloc to match Perl_malloc in perl.h. + +Index: ext/util/make_ext + + Typo change. + Get rid of unused altmake. + +Index: global.sym + + Fix problems with each() on tied hashes. + +Index: handy.h + + Change safe*alloc functions to have prototypes that + match the system's malloc and free types. That is, use + Malloc_t instead of char *, and Free_t instead of void. + This is necessary so . . . + + Safefree cast matches type of free() whether it's perl's + malloc/free or the system's malloc/free. + +Index: hints/README.hints + + Remove out-of-date info. + + Document a bit about how hint files work. + +Index: hints/aix.sh + + qmaxmem hint doesn't apply to gcc. + +Index: hints/dgux.sh + + Configure will now automatically detect shared libperl stuff. + +Index: hints/dynixptx.sh + + Fix typo in comment. + + Configure will now automatically detect shared libperl stuff. + +Index: hints/epix.sh + + Use glibpth instead of libpth. This allows Configure to + add local directories, such as /opt/local/lib, etc. + +Index: hints/irix_6_2.sh + + Include some info on cc -n32 compile. + +Index: hints/linux.sh + + Configure now tests gcvt() more thoroughly. + +Index: hints/machten_2.sh + + Update where to find dld. + +Index: hints/mips.sh + + Use glibpth instead of libpth. + +Index: hints/next_3.sh + + Build up $mab dynamically. Since $mab isn't used anywhere + anymore, this is useless. However, $mab was never used for + next_3.sh anyway, so there's been no change in functionality. + +Index: hints/next_4.sh + + Get rid of extraneous isnext_4 variable. Configure and + Makefile.SH will use $osname and $osvers instead. + + Build up $mab dynamically based on available architectures. + + Absorb $mab into ccflags and ccdlflags. I hope that will + cover everything. (Configure should automatically remove + the -arch stuff from cppflags.) + + Configure now knows next4 needs to use a shared libperl.5.so. + + Allow users to use -Dprefix. + +Index: hints/os2.sh + + Try to update to reflect newer shared libperl stuff. + I probably goofed :-). + +Index: hints/sco.sh + + Additional notes on using icc. + + Additional flags for dynamic loading. + +Index: hints/solaris_2.sh + + Perl.h no longer prefers bcmp, so it's again ok if Configure + finds them, since perl will prefer the mem* versions anyway. + +Index: hints/sunos_4_0.sh + + Don't include <unistd.h> + +Index: hints/sunos_4_1.sh + + Add brief note about GNU as and ld. + + Don't include <unistd.h> + + Add notes about WHOA THERE messages. + +Index: hints/titanos.sh + + Include sfio in libswanted. + + Don't set libpth any more. + +Index: hints/umips.sh + + New hint file. + +Index: hv.c + + Use memcmp even in cases where ordering doesn't matter. + + Fix problems with each() on tied hashes. + +Index: installperl + + Simplify installation of shared libperl.so. + + Avoid reaching Command Failed!!! with /usr/bin/perl. + +Index: lib/AutoSplit.pm + + Clean up docmentation installation errors. + +Index: lib/ExtUtils/MM_Unix.pm + + Remove MAB references. + + Use 'useshrplib' instead of 'd_shrplib' + +Index: lib/ExtUtils/MakeMaker.pm + + Remove mab references. + +Index: lib/FindBin.pm + + Clean up docmentation installation errors. + +Index: lib/Symbol.pm + + Put back in the BEGIN { require 5.002; }. The version in + 5.003_02 wouldn't work in 5.002 anyway. Further, the whole + point of the construct is to catch 5.001m, so we can't use + syntax introduced after 5.001m to do that. + +Index: lib/Text/Wrap.pm + + Remove double 'use strict'. + +Index: lib/perl5db.pl + + Add explicit '&' to avoid warnings under strict refs. + +Index: lib/sigtrap.pm + + Clean up docmentation installation errors. + +Index: makedepend.SH + + Use Configure's $sh and $make_set_make variables. + +Index: mg.c + + Include <unistd.h> + + Use Safefree() macro instead of safefree() function with + a (possibly) incorrect cast. The whole point of the + Safefree() macro is that it does the correct cast for you. + + +Index: patchlevel.h + + Change to SUBVERSION 3. + +Index: perl.c + + Include <unistd.h> + +Index: perl.h + + No longer prefer bcmp slightly for comparisons that don't care + about ordering. + + Rely on Configure setting SH_PATH. + + Change the function name to Pause() instead of pause() to + avoid potential prototype problems. (This naming convention + is similar to the Fwrite and Fflush macros.) + + Fix problems with each() on tied hashes. + + Work around crypt prototype problem on NeXT. + +Index: perlio.c + + Fixes to support non-std stdio. + +Index: perlio.h + + Try to document the various #defines a bit. This is far from + finished. + + Remove a lot of trailing whitespace. (It's of no consequence, but + but I'm not going to redo the patch just to put back in the trailing + whitespace either.) + +Index: perlsdio.h + + Fixes to support non-std stdio. + +Index: perly.c + + Restore use of Safefree() macro. + +Index: perly.c.diff + + Restore use of Safefree() macro. + +Index: perly.h + + Delete duplicate line. + +Index: plan9/buildinfo + + Update. + +Index: pod/perlapio.pod + + Clean up docmentation installation errors. + +Index: pod/perlipc.pod + + Fix typo. + + Untaint port number. + +Index: pod/perlmod.pod + + Fix a minor nit regarding Exporter. + +Index: pod/perlre.pod + + Clean up docmentation installation errors. + +Index: pod/perltie.pod + + Add support for tied filehandles. + +Index: pod/perltrap.pod + + Clean up docmentation installation errors. + +Index: pod/perlxstut.pod + + Clean up docmentation installation errors. + +Index: pod/pod2man.PL + + Clean up docmentation installation errors. + +Index: pp.c + + Add support for tied filehandles. + + If a regex supplied to split() contains paranthesized subpatterns + that can result in null matches, perl coredumps. + +Index: pp_hot.c + + Use memcmp instead of bcmp even when we don't care about order. + + Add support for tied filehandles. + +Index: pp_sys.c + + Include <unistd.h>, <sys/wait.h>, and <sys/resource.h>. + (The latter two are especially for NetBSD.) + + Don't assume sys/time.h and sys/select.h can't coexist. + + Use Pause macro. + +Index: proto.h + + Fix safe*alloc and safefree prototypes. + +Index: regexec.c + + Use memcmp instead of bcmp even when we don't care about order. + +Index: sv.c + + Use memcmp instead of bcmp even when we don't care about order. + +Index: t/lib/opcode.t + + Add support for tied filehandles. + +Index: t/op/bop.t + + Support bit operations on strings longer than 15 bytes. + +Index: t/op/misc.t + + Add support for tied filehandles. + +Index: t/op/split.t + + If a regex supplied to split() contains paranthesized subpatterns + that can result in null matches, perl coredumps. + +Index: toke.c + + Include <unistd.h>. + + Use memcmp instead of bcmp even when we don't care about order. + +Index: util.c + + Include <unistd.h>. + + Use correct types for safe*alloc and safefree functions. + +Index: utils/h2ph.PL + + Make h2ph architecture-independent by using Config at run-time + rather than extraction time. + +Index: writemain.SH + + Remove unnecessary curlies. (They are a leftover from + an older auto_init mechanism.) + +Index: x2p/Makefile.SH + + Use Configure's $sh and $make_set_make. + + Remove MAB stuff, since it's now in ccflags. + + Keep 5.003's RCS info. + +Index: x2p/a2p.h + + Keep 5.003's RCS info. + +Index: x2p/str.c + + Use Configure's FILE_filbuf macro instead of a raw _filbuf. + + +---------------- +Version 5.003_02 +---------------- + +o Visible Changes to Core Functionality + - Redefining constant subs, or changing sub's prototype now give warnings. + - Fixes for ++/-- of values close to max/min size of an integer + - Warning for un-qualified bareword as handler in $SIG{}. + - UNIVERSAL::isa can now be called as static method. + +o Changes in Core Internals + - PerlIO abstraction added. + Perl core and standard extensions no longer assume ANSI C's stdio is IO + mechanism, Default Configure mode is still to use stdio via set of C macros. + Alternate modes are to use stdio via one perlio.c module, or + to use sfio if available. + + - Several bug fixs from perl5-porters + - Make sources non-ANSI C correct again. + - SUPER in gv.c + - Last of shared-hash-key patches + - eval '(0,1..3)'; # --> SegFault + - coredumps after simple subsitutes. + - Correction to UNIVERSAL::VERSION docs. + - Fixed io_udp test. + - Fixed another abuse of malloc'ed memory. + - Enabled DEBUGING_MSTATS whenever perl's malloc() is used. + - Reverted to default of not hiding perl's malloc (if used). + +o Changes in the Standard Library and Utilities + - Fixed MakeMaker for static SDBM and builing in a link tree. + - Upgraded to IO-1.09, and includes latest (still experimental) IO::Select. + - Documentation/test tweak to DB_File + - h2xs upgrade to allow use C::Scan module + +o Changes in OS-specific and Build-time Support + - Attempted to re-created 5.003_01's NeXT support with metaconfig units. + - Updated MANIFEST + - make minitest now depends on lib/Config.pm, as some of tests require it. + - Included latest plan9 sub-directory + - Applied OS/2 patches. + - Typo patch for VMS. + + +---------------- +Version 5.003_01 +---------------- + +Version 5.003_01 contains bugfixes and additions accumulated since +version 5.002_01, since the patch to version 5.003 was deliberately +kept simple. In addition to numerous small bugfixes in the core, +library files, and documentation, this patch contains several +significant revisions, summarized below: + +o Visible Changes to Core Functionality + + - A port to Plan9 has been started, and changes are integrated into + the standard distribution. As of this release, the Perl core + and several common extensions are working. + + - A set of basic methods in the UNIVERSAL class have been added to + the Perl core. Since UNIVERSAL is an implicit member of every + class's @ISA, the methods can be called via any object. + + - A mandatory warning has been added for 'declarations' of lexical + variables using the "my" operator which mask an existing lexical + variable declared in the same scope, making the previous variable + inaccessible by its name. + + - The "use" and "require" operators have been extended to allow + checking of the required module's version. The "use" operator + can now be used for an immediate version check of Perl itself. + + - A new "strict" pragma, "strict untie", has been added, which + produces an error if a tied value is untied when other references + exist to the internal object implementing the tie. + + - Barewords used as associative array keys (i.e. when specifying + an associative array element like $foo{__BAR} or on the left + side of the => operator) may now begin with an underscore as + well as an alphabetic character. + + - Some of the configuration information previously produced by the + -v switch has been moved to the -V switch, in order to keep -v + output concise. + +o Changes in Core Internals + + - Symbol table and method lookups have been made faster. + + - Perl subroutines which just return a constant value are now + optimized at compile time into inline constants. + + - Management of keys for associative arrays has been improved to + conserve space when the same keys are reused frequently, and + to pass true Perl values to tie functions, instead of stringified + representations. + + - Messages normally output to stderr may be directed to another + stream when Perl is built. This allows some platforms to + present diagnostic output in a separate window from normal + program results. + + - A bug which caused suiperl to fail silently, albeit securely, + in version 5.003 on some systems has been fixed. + + - Management of Unix-style signal handlers via the %SIG associative + array has been made safer. + + - Several global C symbols have been renamed to eliminate collisions + with system C header files or libraries on some platforms. + Unfortunately, this means that dynamic extensions compiled under + previous versions of Perl will need to be rebuilt for Perl + 5.003_01. We're in the process of cleaning up Perl's C + namespace to make it easier to link Perl with other binaries, + so this will probably happen again between now and version 5.004. + After that, we'll do our best to maintain binary compatibility + between versions. + + - An alternate allocation strategy has been added to Perl's + optional private memory management routines. This strategy, + which may be selected when Perl is built, is designed to + conserve memory in programs which allocate many small + chunks of memory with sizes near a power of 2, as is often + the case in Perl programs. + + - Several memory leaks in the creation and destruction of + multiple interpreters have been fixed. + +o Changes in the Standard Library and Utilities + + - The Opcode extension, which allows you to control a program's + access to Perl operations, has been added to the standard + distribution. This extends the work begun in the original + Safe extension, and subsumes it. The Safe interface is still + available. + + - The IO extension, which provides a set of classes for object- + oriented handling of common I/O tasks, has been added to the + standard distribution. The IO classes will form the basis + for future development of Perl's I/O interface, and will + subsume the FileHandle class in the near future. The default + class to which all Perl I/O handles belong is now IO::Handle, + rather than FileHandle. + + - The ExtUtils::Embed library module, which provides a set + of utility function to help in embedding Perl in other + applications, has been added to the standard distribution. + + - The Fatal library module, which provides a simple interface + for creating "do-or-die" equivalents of existing functions, + has been added to the standard distribution. + + - The FindBin library module, which determines the full path + to the currently executing program, has been added to the + standard distribution. + + - The DB_File extension, and the Getopt::Long, Test::Harness, + Text::Tabs, Text::Wrap, Time::Local and sigtrap library modules + have been updated to the authors' latest versions. + + - The Carp library module now considers the @ISA chain when + determining the caller's package for inclusion in error messages. + + - The h2xs, perlbug, and xsubpp utilities have been updated. + + - The standard Perl debugger has been updated, and the information + provided to the debugger when an XSUB is called has been improved, + making it possible for alternate debuggers (such as Devel::DProf) + to do a better job of tracking XSUB calls. + + - The pod documentation formatting tools in the standard distribution + can now handle characters in the input stream whose high bit is set. + + - The cperl-mode EMACS editing mode has been updated. + +o Changes in Documentation + + - Typographic and formatting errors have been corrected in the pod + documentation for the core and standard library files + + - Explanations of several core operators have been improved + + - The perldebug, perlembed, perlipc, perlsec, and perltrap documents + extensively revised. + +o Changes in OS-specific and Build-time Support + + - Support for the NeXT platform has been extended through + NeXTSTEP/OPENSTEP 4.0, and now includes the ability to create MABs. + + - Support for OS/2 has been extended as well, and now includes + options for building a.out binaries. + + - Support for VMS has also been extended, incorporating improved + processing of file specification strings, optional suppression of + carriage control interpretation for record-structured files, + improved support for the -S command line switch, a number of + VMS-specific bugfixes, and significantly improved performance + in line-oriented reading of files. + + - Several hints files have been added or updated: aux.sh (updated), + convexos.sh (updated), irix_4.sh (updated), irix_5.sh (updated), + irix_6_2.sh (updated), next_3.sh (updated), next_3_2.sh (new), + next_3_3.sh (new), next_4.sh (new), os2/sh (updated), + sco.sh (updated), and solaris_2.sh (updated). + + - The test driver for the regression tests now reports when a set + of tests have been skipped (presumable because the operation + they're designed to test isn't supported on the current system). @@ -20,7 +20,7 @@ # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $ # -# Generated on Tue Mar 3 11:16:26 EST 1998 [metaconfig 3.0 PL70] +# Generated on Thu Apr 2 09:30:50 EST 1998 [metaconfig 3.0 PL70] cat >/tmp/c1$$ <<EOF ARGGGHHHH!!!!! @@ -176,7 +176,6 @@ emacs='' expr='' find='' flex='' -gcc='' grep='' gzip='' inews='' @@ -260,8 +259,6 @@ baserev='' bin='' binexp='' installbin='' -bincompat3='' -d_bincompat3='' byteorder='' cc='' gccversion='' @@ -308,6 +305,10 @@ d_dlsymun='' d_dosuid='' d_suidsafe='' d_dup2='' +d_endhent='' +d_endnent='' +d_endpent='' +d_endsent='' d_fchmod='' d_fchown='' d_fcntl='' @@ -330,9 +331,13 @@ aphostname='' d_gethname='' d_phostname='' d_uname='' +d_gethostprotos='' d_getlogin='' d_getnbyaddr='' d_getnbyname='' +d_getnent='' +d_getnetprotos='' +d_getpent='' d_getpgid='' d_getpgrp2='' d_bsdgetpgrp='' @@ -341,6 +346,9 @@ d_getppid='' d_getprior='' d_getpbyname='' d_getpbynumber='' +d_getprotoprotos='' +d_getsent='' +d_getservprotos='' d_getsbyname='' d_getsbyport='' d_gnulibc='' @@ -351,6 +359,10 @@ d_killpg='' d_link='' d_locconv='' d_lockf='' +d_longdbl='' +longdblsize='' +d_longlong='' +longlongsize='' d_lstat='' d_mblen='' d_mbstowcs='' @@ -361,6 +373,7 @@ d_memmove='' d_memset='' d_mkdir='' d_mkfifo='' +d_mkstemp='' d_mktime='' d_msg='' d_msgctl='' @@ -399,6 +412,8 @@ d_setgrps='' d_sethent='' d_setlinebuf='' d_setlocale='' +d_setnent='' +d_setpent='' d_setpgid='' d_setpgrp2='' d_bsdsetpgrp='' @@ -410,7 +425,9 @@ d_setresuid='' d_setreuid='' d_setrgid='' d_setruid='' +d_setsent='' d_setsid='' +d_setvbuf='' d_sfio='' usesfio='' d_shm='' @@ -1892,6 +1909,8 @@ EOM *.08.*) osvers=9 ;; *.09.*) osvers=9 ;; *.10.*) osvers=10 ;; + *.11.*) osvers=11 ;; + *.12.*) osvers=12 ;; *) osvers="$3" ;; esac ;; @@ -2265,8 +2284,8 @@ esac set usethreads eval $setvar : 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. +: user has specified if a threading perl is to be built, we may need +: to set or change some other defaults. if $test -f usethreads.cbu; then . ./usethreads.cbu fi @@ -2703,8 +2722,8 @@ baserev=5.0 echo " " echo "Getting the current patchlevel..." >&4 if $test -r $rsrc/patchlevel.h;then - patchlevel=`awk '/PATCHLEVEL/ {print $3}' $rsrc/patchlevel.h` - subversion=`awk '/SUBVERSION/ {print $3}' $rsrc/patchlevel.h` + patchlevel=`awk '/define[ ]+PATCHLEVEL/ {print $3}' $rsrc/patchlevel.h` + subversion=`awk '/define[ ]+SUBVERSION/ {print $3}' $rsrc/patchlevel.h` else patchlevel=0 subversion=0 @@ -3025,39 +3044,6 @@ else installbin="$binexp" fi - -: Binary compatibility with 5.003 is not possible with 5.004_50 and later. -if test $patchlevel -gt 4 -o $subversion -ge 50; then - d_bincompat3=$undef -else - $cat <<EOM - -Perl 5.004 can be compiled for binary compatibility with 5.003. -If you decide to do so, you will be able to continue using any -extensions that were compiled for Perl 5.003. However, binary -compatibility forces Perl to expose some of its internal symbols -in the same way that 5.003 did. So you may have symbol conflicts -if you embed a binary-compatible Perl in other programs. - -EOM - case "$d_bincompat3" in - "$undef") dflt=n ;; - *) dflt=y ;; - esac - rp='Binary compatibility with Perl 5.003?' - . ./myread - case "$ans" in - y*) val="$define" ;; - *) val="$undef" ;; - esac - set d_bincompat3 - eval $setvar - case "$d_bincompat3" in - "$define") bincompat3=y ;; - *) bincompat3=n ;; - esac -fi - : determine where manual pages are on this system echo " " case "$sysman" in @@ -3076,393 +3062,6 @@ else echo "Could not find manual pages in source form." >&4 fi -: determine where manual pages go -set man1dir man1dir none -eval $prefixit -$cat <<EOM - -$spackage has manual pages available in source form. -EOM -case "$nroff" in -nroff) - echo "However, you don't have nroff, so they're probably useless to you." - case "$man1dir" in - '') man1dir="none";; - esac;; -esac -echo "If you don't want the manual sources installed, answer 'none'." -case "$man1dir" in -' ') dflt=none - ;; -'') - lookpath="$prefixexp/man/man1 $prefixexp/man/l_man/man1" - lookpath="$lookpath $prefixexp/man/p_man/man1" - lookpath="$lookpath $prefixexp/man/u_man/man1" - lookpath="$lookpath $prefixexp/man/man.1" - case "$sysman" in - */?_man*) dflt=`./loc . $prefixexp/l_man/man1 $lookpath` ;; - *) dflt=`./loc . $prefixexp/man/man1 $lookpath` ;; - esac - set dflt - eval $prefixup - ;; -*) dflt="$man1dir" - ;; -esac -echo " " -fn=dn+~ -rp="Where do the main $spackage manual pages (source) go?" -. ./getfile -if $test "X$man1direxp" != "X$ansexp"; then - installman1dir='' -fi -man1dir="$ans" -man1direxp="$ansexp" -case "$man1dir" in -'') man1dir=' ' - installman1dir='';; -esac -if $afs; then - $cat <<EOM - -Since you are running AFS, I need to distinguish the directory in which -manual pages reside from the directory in which they are installed (and from -which they are presumably copied to the former directory by occult means). - -EOM - case "$installman1dir" in - '') dflt=`echo $man1direxp | sed 's#^/afs/#/afs/.#'`;; - *) dflt="$installman1dir";; - esac - fn=de~ - rp='Where will man pages be installed?' - . ./getfile - installman1dir="$ans" -else - installman1dir="$man1direxp" -fi - -: What suffix to use on installed man pages - -case "$man1dir" in -' ') - man1ext='0' - ;; -*) - rp="What suffix should be used for the main $spackage man pages?" - case "$man1ext" in - '') case "$man1dir" in - *1) dflt=1 ;; - *1p) dflt=1p ;; - *1pm) dflt=1pm ;; - *l) dflt=l;; - *n) dflt=n;; - *o) dflt=o;; - *p) dflt=p;; - *C) dflt=C;; - *L) dflt=L;; - *L1) dflt=L1;; - *) dflt=1;; - esac - ;; - *) dflt="$man1ext";; - esac - . ./myread - man1ext="$ans" - ;; -esac - -: see if we can have long filenames -echo " " -rmlist="$rmlist /tmp/cf$$" -$test -d /tmp/cf$$ || mkdir /tmp/cf$$ -first=123456789abcdef -second=/tmp/cf$$/$first -$rm -f $first $second -if (echo hi >$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 - fi -else - $cat <<'EOM' -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* - -: determine where library module manual pages go -set man3dir man3dir none -eval $prefixit -$cat <<EOM - -$spackage has manual pages for many of the library modules. -EOM - -case "$nroff" in -nroff) - $cat <<'EOM' -However, you don't have nroff, so they're probably useless to you. -EOM - case "$man3dir" in - '') man3dir="none";; - esac;; -esac - -case "$d_flexfnam" in -undef) - $cat <<'EOM' -However, your system can't handle the long file names like File::Basename.3. -EOM - case "$man3dir" in - '') man3dir="none";; - esac;; -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=none;; -*) dflt="$man3dir" ;; -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=' ' - installman3dir='';; -esac -if $afs; then - $cat <<EOM - -Since you are running AFS, I need to distinguish the directory in which -manual pages reside from the directory in which they are installed (and from -which they are presumably copied to the former directory by occult means). - -EOM - case "$installman3dir" in - '') dflt=`echo $man3direxp | sed 's#^/afs/#/afs/.#'`;; - *) dflt="$installman3dir";; - esac - fn=de~ - rp='Where will man pages be installed?' - . ./getfile - installman3dir="$ans" -else - installman3dir="$man3direxp" -fi - -: What suffix to use on installed man pages - -case "$man3dir" in -' ') - man3ext='0' - ;; -*) - rp="What suffix should be used for the $package library man pages?" - case "$man3ext" in - '') case "$man3dir" in - *3) dflt=3 ;; - *3p) dflt=3p ;; - *3pm) dflt=3pm ;; - *l) dflt=l;; - *n) dflt=n;; - *o) dflt=o;; - *p) dflt=p;; - *C) dflt=C;; - *L) dflt=L;; - *L3) dflt=L3;; - *) dflt=3;; - esac - ;; - *) dflt="$man3ext";; - esac - . ./myread - man3ext="$ans" - ;; -esac - -: determine where public executable scripts go -set scriptdir scriptdir -eval $prefixit -case "$scriptdir" in -'') - dflt="$bin" - : guess some guesses - $test -d /usr/share/scripts && dflt=/usr/share/scripts - $test -d /usr/share/bin && dflt=/usr/share/bin - $test -d /usr/local/script && dflt=/usr/local/script - $test -d $prefixexp/script && dflt=$prefixexp/script - set dflt - eval $prefixup - ;; -*) dflt="$scriptdir" - ;; -esac -$cat <<EOM - -Some installations have a separate directory just for executable scripts so -that they can mount it across multiple architectures but keep the scripts in -one spot. You might, for example, have a subdirectory of /usr/share for this. -Or you might just lump your scripts in with all your other executables. - -EOM -fn=d~ -rp='Where do you keep publicly executable scripts?' -. ./getfile -if $test "X$ansexp" != "X$scriptdirexp"; then - installscript='' -fi -scriptdir="$ans" -scriptdirexp="$ansexp" -if $afs; then - $cat <<EOM - -Since you are running AFS, I need to distinguish the directory in which -scripts reside from the directory in which they are installed (and from -which they are presumably copied to the former directory by occult means). - -EOM - case "$installscript" in - '') dflt=`echo $scriptdirexp | sed 's#^/afs/#/afs/.#'`;; - *) dflt="$installscript";; - esac - fn=de~ - rp='Where will public scripts be installed?' - . ./getfile - installscript="$ans" -else - installscript="$scriptdirexp" -fi - -: determine where site specific libraries go. -set sitelib sitelib -eval $prefixit -case "$sitelib" in -'') - prog=`echo $package | $sed 's/-*[0-9.]*$//'` - dflt="$privlib/site_$prog" ;; -*) dflt="$sitelib" ;; -esac -$cat <<EOM - -The installation process will also create a directory for -site-specific extensions and modules. Some users find it convenient -to place all local files in this directory rather than in the main -distribution directory. - -EOM -fn=d~+ -rp='Pathname for the site-specific library files?' -. ./getfile -if $test "X$sitelibexp" != "X$ansexp"; then - installsitelib='' -fi -sitelib="$ans" -sitelibexp="$ansexp" -if $afs; then - $cat <<EOM - -Since you are running AFS, I need to distinguish the directory in -which site-specific files reside from the directory in which they are -installed (and from which they are presumably copied to the former -directory by occult means). - -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" -fi - -: determine where site specific architecture-dependent libraries go. -xxx=`echo $sitelib/$archname | sed 's!^$prefix!!'` -: xxx is usuually lib/site_perl/archname. -set sitearch sitearch none -eval $prefixit -case "$sitearch" in -'') dflt="$sitelib/$archname" ;; -*) dflt="$sitearch" ;; -esac -$cat <<EOM - -The installation process will also create a directory for -architecture-dependent site-specific extensions and modules. - -EOM -fn=nd~+ -rp='Pathname for the site-specific architecture-dependent library files?' -. ./getfile -if $test "X$sitearchexp" != "X$ansexp"; then - installsitearch='' -fi -sitearch="$ans" -sitearchexp="$ansexp" -if $afs; then - $cat <<EOM - -Since you are running AFS, I need to distinguish the directory in -which site-specific architecture-dependent library files reside from -the directory in which they are installed (and from which they are -presumably copied to the former directory by occult means). - -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" -fi - : see what memory models we can support case "$models" in '') @@ -4363,6 +3962,11 @@ compile=' mc_file=$1; shift; $cc $optimize $ccflags $ldflags -o ${mc_file}$_exe $* ${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}$_exe $* ${mc_file}.c $libs;' echo " " echo "Checking for GNU C Library..." >&4 @@ -4375,7 +3979,7 @@ main() EOM set gnulibc if eval $compile && \ - ./gnulibc | $contains '^GNU C Library' >/dev/null 2>&1; then + ./gnulibc | $contains '^GNU C Library'; then val="$define" echo "You are using the GNU C Library" else @@ -4389,12 +3993,26 @@ eval $setvar : see if nm is to be used to determine whether a symbol is defined or not case "$usenm" in '') + dflt='' case "$d_gnulibc" in - $define) + "$define") + echo " " + echo "nm probably won't work on the GNU C Library." >&4 dflt=n ;; - *) - dflt=`egrep 'inlibc|csym' ../Configure | wc -l 2>/dev/null` + esac + case "$dflt" in + '') + if $test "$osname" = aix -a ! -f /lib/syscalls.exp; then + echo " " + echo "Whoops! This is an AIX system without /lib/syscalls.exp!" >&4 + echo "'nm' won't be sufficient on this sytem." >&4 + dflt=n + fi + ;; + esac + case "$dflt" in + '') dflt=`egrep 'inlibc|csym' ../Configure | wc -l 2>/dev/null` if $test $dflt -gt 20; then dflt=y else @@ -4405,26 +4023,28 @@ case "$usenm" in ;; *) case "$usenm" in - true) dflt=y;; + true|$define) dflt=y;; *) dflt=n;; esac ;; esac $cat <<EOM -I can use '$nm' to extract the symbols from your C libraries. This is a time -consuming task which may generate huge output on the disk (up to 3 megabytes) -but that should make the symbols extraction faster. The alternative is to skip -the 'nm' extraction part and to compile a small test program instead to -determine whether each symbol is present. If you have a fast C compiler and/or -if your 'nm' output cannot be parsed, this may be the best solution. -You shouldn't let me use 'nm' if you have the GNU C Library. +I can use $nm to extract the symbols from your C libraries. This +is a time consuming task which may generate huge output on the disk (up +to 3 megabytes) but that should make the symbols extraction faster. The +alternative is to skip the 'nm' extraction part and to compile a small +test program instead to determine whether each symbol is present. If +you have a fast C compiler and/or if your 'nm' output cannot be parsed, +this may be the best solution. + +You probably shouldn't let me use 'nm' if you are using the GNU C Library. EOM rp="Shall I use $nm to extract C symbols from the libraries?" . ./myread case "$ans" in -n|N) usenm=false;; +[Nn]*) usenm=false;; *) usenm=true;; esac @@ -4685,23 +4305,38 @@ else eval $xrun else echo " " - echo "$nm didn't seem to work right. Trying ar instead..." >&4 + echo "$nm didn't seem to work right. Trying $ar instead..." >&4 com='' - if ar t $libc > libc.tmp; then - for thisname in $libnames; do - ar t $thisname >>libc.tmp + if $ar t $libc > libc.tmp && $contains '^fprintf$' libc.tmp >/dev/null 2>&1; then + for thisname in $libnames $libc; do + $ar t $thisname >>libc.tmp done $sed -e "s/\\$_o\$//" < libc.tmp > libc.list echo "Ok." >&4 + elif test "X$osname" = "Xos2" && $ar tv $libc > libc.tmp; then + # Repeat libc to extract forwarders to DLL entries too + for thisname in $libnames $libc; do + $ar tv $thisname >>libc.tmp + # Revision 50 of EMX has bug in $ar. + # it will not extract forwarders to DLL entries + # Use emximp which will extract exactly them. + emximp -o tmp.imp $thisname \ + 2>/dev/null && \ + $sed -e 's/^\([_a-zA-Z0-9]*\) .*$/\1/p' \ + < tmp.imp >>libc.tmp + $rm tmp.imp + done + $sed -e "s/\\$_o\$//" -e 's/^ \+//' < libc.tmp > libc.list + echo "Ok." >&4 else - echo "ar didn't seem to work right." >&4 + echo "$ar didn't seem to work right." >&4 echo "Maybe this is a Cray...trying bld instead..." >&4 if bld t $libc | $sed -e 's/.*\///' -e "s/\\$_o:.*\$//" > libc.list then for thisname in $libnames; do bld t $libnames | \ $sed -e 's/.*\///' -e "s/\\$_o:.*\$//" >>libc.list - ar t $thisname >>libc.tmp + $ar t $thisname >>libc.tmp done echo "Ok." >&4 else @@ -4906,7 +4541,7 @@ $undef|n|false) $define) dflt='y' ;; esac : Does a dl_xxx.xs file exist for this operating system - $test -f ../$dldir/dl_${osname}.xs && dflt='y' + $test -f $rsrc/$dldir/dl_${osname}.xs && dflt='y' ;; esac rp="Do you wish to use dynamic loading?" @@ -4916,7 +4551,7 @@ case "$ans" in y*) usedl="$define" case "$dlsrc" in '') - if $test -f ../$dldir/dl_${osname}.xs ; then + if $test -f $rsrc/$dldir/dl_${osname}.xs ; then dflt="$dldir/dl_${osname}.xs" elif $test "$d_dlopen" = "$define" ; then dflt="$dldir/dl_dlopen.xs" @@ -4931,15 +4566,17 @@ y*) usedl="$define" esac echo "The following dynamic loading files are available:" : Can not go over to $dldir because getfile has path hard-coded in. - cd ..; ls -C $dldir/dl*.xs; cd UU - rp="Source file to use for dynamic loading" - fn="fne" - . ./getfile + tdir=`pwd`; cd $rsrc; $ls -C $dldir/dl*.xs; cd $tdir + rp="Source file to use for dynamic loading" + fn="fne" + # XXX This getfile call will fail the existence check if you try + # building away from $src (this is not supported yet). + . ./getfile usedl="$define" : emulate basename dlsrc=`echo $ans | $sed -e 's@.*/\([^/]*\)$@\1@'` - $cat << EOM + $cat << EOM Some systems may require passing special flags to $cc -c to compile modules that will be used to create a shared library. @@ -5156,9 +4793,11 @@ EOM # Why does next4 have to be so different? case "${osname}${osvers}" in next4*) xxx='DYLD_LIBRARY_PATH' ;; + os2*) xxx='' ;; # Nothing special needed. *) xxx='LD_LIBRARY_PATH' ;; esac - $cat <<EOM | $tee -a ../config.msg >&4 + if test X"$xxx" != "X"; then + $cat <<EOM | $tee -a ../config.msg >&4 To build perl, you must add the current working directory to your $xxx environment variable before running make. You can do @@ -5169,6 +4808,7 @@ for Bourne-style shells, or for Csh-style shells. You *MUST* do this before running make. EOM + fi ;; *) useshrplib='false' ;; esac @@ -5314,6 +4954,250 @@ case "$shrpenv" in '') shrpenv="$tmp_shrpenv" ;; esac +: determine where manual pages go +set man1dir man1dir none +eval $prefixit +$cat <<EOM + +$spackage has manual pages available in source form. +EOM +case "$nroff" in +nroff) + echo "However, you don't have nroff, so they're probably useless to you." + case "$man1dir" in + '') man1dir="none";; + esac;; +esac +echo "If you don't want the manual sources installed, answer 'none'." +case "$man1dir" in +' ') dflt=none + ;; +'') + lookpath="$prefixexp/man/man1 $prefixexp/man/l_man/man1" + lookpath="$lookpath $prefixexp/man/p_man/man1" + lookpath="$lookpath $prefixexp/man/u_man/man1" + lookpath="$lookpath $prefixexp/man/man.1" + case "$sysman" in + */?_man*) dflt=`./loc . $prefixexp/l_man/man1 $lookpath` ;; + *) dflt=`./loc . $prefixexp/man/man1 $lookpath` ;; + esac + set dflt + eval $prefixup + ;; +*) dflt="$man1dir" + ;; +esac +echo " " +fn=dn+~ +rp="Where do the main $spackage manual pages (source) go?" +. ./getfile +if $test "X$man1direxp" != "X$ansexp"; then + installman1dir='' +fi +man1dir="$ans" +man1direxp="$ansexp" +case "$man1dir" in +'') man1dir=' ' + installman1dir='';; +esac +if $afs; then + $cat <<EOM + +Since you are running AFS, I need to distinguish the directory in which +manual pages reside from the directory in which they are installed (and from +which they are presumably copied to the former directory by occult means). + +EOM + case "$installman1dir" in + '') dflt=`echo $man1direxp | sed 's#^/afs/#/afs/.#'`;; + *) dflt="$installman1dir";; + esac + fn=de~ + rp='Where will man pages be installed?' + . ./getfile + installman1dir="$ans" +else + installman1dir="$man1direxp" +fi + +: What suffix to use on installed man pages + +case "$man1dir" in +' ') + man1ext='0' + ;; +*) + rp="What suffix should be used for the main $spackage man pages?" + case "$man1ext" in + '') case "$man1dir" in + *1) dflt=1 ;; + *1p) dflt=1p ;; + *1pm) dflt=1pm ;; + *l) dflt=l;; + *n) dflt=n;; + *o) dflt=o;; + *p) dflt=p;; + *C) dflt=C;; + *L) dflt=L;; + *L1) dflt=L1;; + *) dflt=1;; + esac + ;; + *) dflt="$man1ext";; + esac + . ./myread + man1ext="$ans" + ;; +esac + +: see if we can have long filenames +echo " " +rmlist="$rmlist /tmp/cf$$" +$test -d /tmp/cf$$ || mkdir /tmp/cf$$ +first=123456789abcdef +second=/tmp/cf$$/$first +$rm -f $first $second +if (echo hi >$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 + fi +else + $cat <<'EOM' +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* + +: determine where library module manual pages go +set man3dir man3dir none +eval $prefixit +$cat <<EOM + +$spackage has manual pages for many of the library modules. +EOM + +case "$nroff" in +nroff) + $cat <<'EOM' +However, you don't have nroff, so they're probably useless to you. +EOM + case "$man3dir" in + '') man3dir="none";; + esac;; +esac + +case "$d_flexfnam" in +undef) + $cat <<'EOM' +However, your system can't handle the long file names like File::Basename.3. +EOM + case "$man3dir" in + '') man3dir="none";; + esac;; +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=none;; +*) dflt="$man3dir" ;; +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=' ' + installman3dir='';; +esac +if $afs; then + $cat <<EOM + +Since you are running AFS, I need to distinguish the directory in which +manual pages reside from the directory in which they are installed (and from +which they are presumably copied to the former directory by occult means). + +EOM + case "$installman3dir" in + '') dflt=`echo $man3direxp | sed 's#^/afs/#/afs/.#'`;; + *) dflt="$installman3dir";; + esac + fn=de~ + rp='Where will man pages be installed?' + . ./getfile + installman3dir="$ans" +else + installman3dir="$man3direxp" +fi + +: What suffix to use on installed man pages + +case "$man3dir" in +' ') + man3ext='0' + ;; +*) + rp="What suffix should be used for the $package library man pages?" + case "$man3ext" in + '') case "$man3dir" in + *3) dflt=3 ;; + *3p) dflt=3p ;; + *3pm) dflt=3pm ;; + *l) dflt=l;; + *n) dflt=n;; + *o) dflt=o;; + *p) dflt=p;; + *C) dflt=C;; + *L) dflt=L;; + *L3) dflt=L3;; + *) dflt=3;; + esac + ;; + *) dflt="$man3ext";; + esac + . ./myread + man3ext="$ans" + ;; +esac + : see if we have to deal with yellow pages, now NIS. if $test -d /usr/etc/yp || $test -d /etc/yp; then if $test -f /usr/etc/nibindd; then @@ -5676,6 +5560,149 @@ case "$startperl" in *) echo "I'll use $perlpath in \"eval 'exec'\"" ;; esac +: determine where public executable scripts go +set scriptdir scriptdir +eval $prefixit +case "$scriptdir" in +'') + dflt="$bin" + : guess some guesses + $test -d /usr/share/scripts && dflt=/usr/share/scripts + $test -d /usr/share/bin && dflt=/usr/share/bin + $test -d /usr/local/script && dflt=/usr/local/script + $test -d $prefixexp/script && dflt=$prefixexp/script + set dflt + eval $prefixup + ;; +*) dflt="$scriptdir" + ;; +esac +$cat <<EOM + +Some installations have a separate directory just for executable scripts so +that they can mount it across multiple architectures but keep the scripts in +one spot. You might, for example, have a subdirectory of /usr/share for this. +Or you might just lump your scripts in with all your other executables. + +EOM +fn=d~ +rp='Where do you keep publicly executable scripts?' +. ./getfile +if $test "X$ansexp" != "X$scriptdirexp"; then + installscript='' +fi +scriptdir="$ans" +scriptdirexp="$ansexp" +if $afs; then + $cat <<EOM + +Since you are running AFS, I need to distinguish the directory in which +scripts reside from the directory in which they are installed (and from +which they are presumably copied to the former directory by occult means). + +EOM + case "$installscript" in + '') dflt=`echo $scriptdirexp | sed 's#^/afs/#/afs/.#'`;; + *) dflt="$installscript";; + esac + fn=de~ + rp='Where will public scripts be installed?' + . ./getfile + installscript="$ans" +else + installscript="$scriptdirexp" +fi + +: determine where site specific libraries go. +set sitelib sitelib +eval $prefixit +case "$sitelib" in +'') + prog=`echo $package | $sed 's/-*[0-9.]*$//'` + dflt="$privlib/site_$prog" ;; +*) dflt="$sitelib" ;; +esac +$cat <<EOM + +The installation process will also create a directory for +site-specific extensions and modules. Some users find it convenient +to place all local files in this directory rather than in the main +distribution directory. + +EOM +fn=d~+ +rp='Pathname for the site-specific library files?' +. ./getfile +if $test "X$sitelibexp" != "X$ansexp"; then + installsitelib='' +fi +sitelib="$ans" +sitelibexp="$ansexp" +if $afs; then + $cat <<EOM + +Since you are running AFS, I need to distinguish the directory in +which site-specific files reside from the directory in which they are +installed (and from which they are presumably copied to the former +directory by occult means). + +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" +fi + +: determine where site specific architecture-dependent libraries go. +xxx=`echo $sitelib/$archname | sed 's!^$prefix!!'` +: xxx is usuually lib/site_perl/archname. +set sitearch sitearch none +eval $prefixit +case "$sitearch" in +'') dflt="$sitelib/$archname" ;; +*) dflt="$sitearch" ;; +esac +$cat <<EOM + +The installation process will also create a directory for +architecture-dependent site-specific extensions and modules. + +EOM +fn=nd~+ +rp='Pathname for the site-specific architecture-dependent library files?' +. ./getfile +if $test "X$sitearchexp" != "X$ansexp"; then + installsitearch='' +fi +sitearch="$ans" +sitearchexp="$ansexp" +if $afs; then + $cat <<EOM + +Since you are running AFS, I need to distinguish the directory in +which site-specific architecture-dependent library files reside from +the directory in which they are installed (and from which they are +presumably copied to the former directory by occult means). + +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" +fi + cat <<EOM Previous version of $package used the standard IO mechanisms as defined @@ -6028,7 +6055,7 @@ main() } EOCP set intsize - if eval $compile && ./intsize > /dev/null; then + 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." @@ -6105,33 +6132,40 @@ $rm -f $$.tmp : check for ability to cast large floats to 32-bit ints. echo " " echo 'Checking whether your C compiler can cast large floats to int32.' >&4 -if $test "$intsize" -eq 4; then +if $test "$intsize" -ge 4; then xxx=int else xxx=long fi $cat >try.c <<EOCP +#include <stdio.h> #include <sys/types.h> #include <signal.h> -$signal_t blech() { exit(3); } +$signal_t blech(s) int s; { exit(3); } main() { $xxx i32; - double f; + double f, g; int result = 0; signal(SIGFPE, blech); - f = (double) 0x7fffffff; - f = 10 * f; - i32 = ($xxx) f; + /* Don't let compiler optimize the test away */ + sscanf("2147483647", "%lf", &f); /* f = (double) 0x7fffffff; */ + g = 10 * f; + i32 = ($xxx) g; + /* x86 processors will probably give 0x8000 0000, which is a + sign change. We don't want that. We want to mimic SPARC + behavior here, which is to preserve the sign and give + back 0x7fff ffff. + */ if (i32 != ($xxx) f) result |= 1; exit(result); } EOCP set try -if eval $compile; then +if eval $compile_ok; then ./try yyy=$? else @@ -6154,20 +6188,26 @@ $rm -f try try.* echo " " echo 'Checking whether your C compiler can cast negative float to unsigned.' >&4 $cat >try.c <<EOCP +#include <stdio.h> #include <sys/types.h> #include <signal.h> -$signal_t blech() { exit(7); } -$signal_t blech_in_list() { exit(4); } +$signal_t blech(s) int s; { exit(7); } +$signal_t blech_in_list(s) int s; { exit(4); } unsigned long dummy_long(p) unsigned long p; { return p; } unsigned int dummy_int(p) unsigned int p; { return p; } unsigned short dummy_short(p) unsigned short p; { return p; } main() { - double f = -123.; + double f; unsigned long along; unsigned int aint; unsigned short ashort; int result = 0; + /* Frustrate gcc-2.7.2's optimizer which failed this test with + a direct f = -123. assignment. gcc-2.8.0 reportedly + optimized the whole file away + */ + sscanf("-123.", "%lf", &f); /* f = -123.; */ signal(SIGFPE, blech); along = (unsigned long)f; @@ -6179,7 +6219,7 @@ main() result |= 1; if (ashort != (unsigned short)-123) result |= 1; - f = (double)0x40000000; + sscanf("1073741824.", "%lf", &f); /* f = (double)0x40000000; */ f = f + f; along = 0; along = (unsigned long)f; @@ -6198,7 +6238,7 @@ main() if (result) exit(result); signal(SIGFPE, blech_in_list); - f = 123.; + sscanf("123.", "%lf", &f); /* f = 123.; */ along = dummy_long((unsigned long)f); aint = dummy_int((unsigned int)f); ashort = dummy_short((unsigned short)f); @@ -6213,7 +6253,7 @@ main() } EOCP set try -if eval $compile; then +if eval $compile_ok; then ./try castflags=$? else @@ -6337,18 +6377,6 @@ fi set d_crypt eval $setvar -: 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 - : see if cuserid exists set cuserid d_cuserid eval $inlibc @@ -6580,6 +6608,22 @@ eval $setvar set dup2 d_dup2 eval $inlibc +: see if endhostent exists +set endhostent d_endhent +eval $inlibc + +: see if endnetent exists +set endnetent d_endnent +eval $inlibc + +: see if endprotoent exists +set endprotoent d_endpent +eval $inlibc + +: see if endservent exists +set endservent d_endsent +eval $inlibc + : Locate the flags for 'open()' echo " " $cat >open3.c <<'EOCP' @@ -6663,7 +6707,7 @@ main() { } EOCP set try - if eval $compile; then + if eval $compile_ok; then o_nonblock=`./try` case "$o_nonblock" in '') echo "I can't figure it out, assuming O_NONBLOCK will do.";; @@ -6687,7 +6731,9 @@ case "$eagain" in #include <sys/types.h> #include <signal.h> #define MY_O_NONBLOCK $o_nonblock +#ifndef errno /* XXX need better Configure test */ extern int errno; +#endif $signal_t blech(x) int x; { exit(3); } EOCP $cat >> try.c <<'EOCP' @@ -6742,7 +6788,7 @@ main() } EOCP set try - if eval $compile; then + if eval $compile_ok; then echo "$startsh" >mtry echo "./try >try.out 2>try.ret 3>try.err || exit 4" >>mtry chmod +x mtry @@ -6853,6 +6899,34 @@ eval $inlibc 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 if this is a netdb.h system +set netdb.h i_netdb +eval $inhdr + +: see if prototypes for various gethostxxx netdb.h functions are available +echo " " +set d_gethostprotos gethostent $i_netdb netdb.h +eval $hasproto + : see if getlogin exists set getlogin d_getlogin eval $inlibc @@ -6865,6 +6939,15 @@ eval $inlibc set getnetbyname d_getnbyname eval $inlibc +: see if getnetent exists +set getnetent d_getnent +eval $inlibc + +: see if prototypes for various getnetxxx netdb.h functions are available +echo " " +set d_getnetprotos getnetent $i_netdb netdb.h +eval $hasproto + : see if getprotobyname exists set getprotobyname d_getpbyname @@ -6873,6 +6956,11 @@ eval $inlibc : see if getprotobynumber exists set getprotobynumber d_getpbynumber eval $inlibc + +: see if getprotoent exists +set getprotoent d_getpent +eval $inlibc + : see if getpgid exists set getpgid d_getpgid eval $inlibc @@ -6889,6 +6977,11 @@ eval $inlibc set getpriority d_getprior eval $inlibc +: see if prototypes for various getprotoxxx netdb.h functions are available +echo " " +set d_getprotoprotos getprotoent $i_netdb netdb.h +eval $hasproto + : see if getservbyname exists set getservbyname d_getsbyname @@ -6897,6 +6990,16 @@ eval $inlibc : see if getservbyport exists set getservbyport d_getsbyport eval $inlibc + +: see if getservent exists +set getservent d_getsent +eval $inlibc + +: see if prototypes for various getservxxx netdb.h functions are available +echo " " +set d_getservprotos getservent $i_netdb netdb.h +eval $hasproto + : see if gettimeofday or ftime exists set gettimeofday d_gettimeod eval $inlibc @@ -7054,6 +7157,92 @@ 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 <stdio.h> +main() +{ + printf("%d\n", sizeof(long double)); +} +EOCP + set try + if eval $compile_ok; then + longdblsize=`./try` + $echo " $longdblsize bytes." >&4 + else + dflt='8' + echo " " + echo "(I can't seem to compile the test program. Guessing...)" + rp="What is the size of a long double (in bytes)?" + . ./myread + longdblsize="$ans" + 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 + val="$define" + echo " Yup, it does." >&4 +else + val="$undef" + echo " Nope, it doesn't." >&4 +fi +$rm try.* +set d_longlong +eval $setvar + +: check for length of long long +case "${d_longlong}${longlongsize}" in +$define) + echo " " + $echo $n "Checking to see how big your long longs are...$c" >&4 + $cat >try.c <<'EOCP' +#include <stdio.h> +main() +{ + printf("%d\n", sizeof(long long)); +} +EOCP + set try + if eval $compile_ok; then + longlongsize=`./try` + $echo " $longlongsize bytes." >&4 + else + dflt='8' + echo " " + echo "(I can't seem to compile the test program. Guessing...)" + rp="What is the size of a long long (in bytes)?" + . ./myread + longlongsize="$ans" + fi + ;; +esac +$rm -f try.c try + : see if lstat exists set lstat d_lstat eval $inlibc @@ -7094,6 +7283,10 @@ eval $inlibc set mkfifo d_mkfifo eval $inlibc +: see if mkstemp exists +set mkstemp d_mkstemp +eval $inlibc + : see if mktime exists set mktime d_mktime eval $inlibc @@ -7269,8 +7462,8 @@ eval $setvar $rm -f try try.* : test whether pthreads are created in joinable -- aka undetached -- state -if test "X$usethreads" != X; then - echo >&4 "Checking whether pthreads are created joinable." +if test "X$usethreads" = "X$define"; then + echo $n "Checking whether pthreads are created joinable. $c" >&4 $cat >try.c <<'EOCP' #include <pthread.h> #include <stdio.h> @@ -7289,11 +7482,12 @@ EOCP if eval $compile; then yyy=`./try` case "$yyy" in - detached) echo "Nope, they aren't." ;; - *) echo "Yup, they are." ;; + detached) echo "Nope, they aren't." >&4 ;; + *) echo "Yup, they are." >&4 ;; esac else - echo "(I can't execute the test program--assuming they are.)" + echo " " + echo "(I can't execute the test program--assuming they are.)" >&4 yyy=joinable fi $rm -f try try.* @@ -7477,7 +7671,7 @@ exit(0); } EOCP set try - if eval $compile; then + if eval $compile_ok; then if ./try 2>/dev/null; then echo "Yes, it can." val="$define" @@ -7555,7 +7749,7 @@ exit(0); } EOCP set try - if eval $compile; then + if eval $compile_ok; then if ./try 2>/dev/null; then echo "Yes, it can." val="$define" @@ -7615,7 +7809,7 @@ exit(0); } EOCP set try - if eval $compile; then + if eval $compile_ok; then if ./try 2>/dev/null; then echo "Yes, it can." val="$define" @@ -7684,6 +7878,14 @@ eval $inlibc set setlocale d_setlocale eval $inlibc +: see if setnetent exists +set setnetent d_setnent +eval $inlibc + +: see if setprotoent exists +set setprotoent d_setpent +eval $inlibc + : see if setpgid exists set setpgid d_setpgid eval $inlibc @@ -7716,10 +7918,18 @@ eval $inlibc set setruid d_setruid eval $inlibc +: see if setservent exists +set setservent d_setsent +eval $inlibc + : see if setsid exists set setsid d_setsid eval $inlibc +: see if setvbuf exists +set setvbuf d_setvbuf +eval $inlibc + : see if sfio.h is available set sfio.h i_sfio eval $inhdr @@ -7839,12 +8049,7 @@ echo " " : see if we have sigaction if set sigaction val -f d_sigaction; eval $csym; $val; then echo 'sigaction() found.' >&4 - val="$define" -else - echo 'sigaction NOT found.' >&4 - val="$undef" -fi -$cat > try.c <<'EOP' + $cat > try.c <<'EOP' #include <stdio.h> #include <sys/types.h> #include <signal.h> @@ -7853,11 +8058,15 @@ main() struct sigaction act, oact; } EOP -set try -if eval $compile; then - : + set try + if eval $compile_ok; then + val="$define" + else + echo "But you don't seem to have a useable struct sigaction." >&4 + val="$undef" + fi else - echo "But you don't seem to have a useable struct sigaction." >&4 + echo 'sigaction NOT found.' >&4 val="$undef" fi set d_sigaction; eval $setvar @@ -7931,8 +8140,8 @@ else else echo "You don't have Berkeley networking in libc$_a..." >&4 if test -f /usr/lib/libnet$_a; then - ( (nm $nm_opt /usr/lib/libnet$_a | eval $nm_extract) || \ - ar t /usr/lib/libnet$_a) 2>/dev/null >> libc.list + ( ($nm $nm_opt /usr/lib/libnet$_a | eval $nm_extract) || \ + $ar t /usr/lib/libnet$_a) 2>/dev/null >> libc.list if $contains socket libc.list >/dev/null 2>&1; then echo "...but the Wollongong group seems to have hacked it in." >&4 socketlib="-lnet" @@ -8233,6 +8442,34 @@ case "$varval" in *) 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; + $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 this is a sys/times.h system set sys/times.h i_systimes eval $inhdr @@ -8246,13 +8483,9 @@ if set times val -f d_times; eval $csym; $val; then case "$i_systimes" in "$define") inc='sys/times.h';; esac + rp="What is the type returned by times() on this system?" set clock_t clocktype long stdio.h sys/types.h $inc - eval $typedef - dflt="$clocktype" - echo " " - rp="What type is returned by times() on this system?" - . ./myread - clocktype="$ans" + eval $typedef_ask else echo 'times() NOT found, hope that will do.' >&4 d_times="$undef" @@ -8395,7 +8628,7 @@ case "$d_closedir" in int main() { return closedir(opendir(".")); } EOM set closedir - if eval $compile; then + if eval $compile_ok; then if ./closedir > /dev/null 2>&1 ; then echo "Yes, it does." val="$undef" @@ -8484,7 +8717,7 @@ main() } EOCP set try - if eval $compile; then + if eval $compile_ok; then dflt=`./try` else dflt='8' @@ -8596,51 +8829,6 @@ set db.h i_db eval $inhdr case "$i_db" in -define) - : Check the return type needed for hash - echo " " - echo "Checking return type needed for hash for Berkeley DB ..." >&4 - $cat >try.c <<EOCP -#$d_const HASCONST -#ifndef HASCONST -#define const -#endif -#include <sys/types.h> -#include <db.h> - -#ifndef DB_VERSION_MAJOR -u_int32_t hash_cb (ptr, size) -const void *ptr; -size_t size; -{ -} -HASHINFO info; -main() -{ - info.hash = hash_cb; -} -#endif -EOCP - if $cc $ccflags -c try.c >try.out 2>&1 ; then - if $contains warning try.out >>/dev/null 2>&1 ; then - db_hashtype='int' - else - db_hashtype='u_int32_t' - fi - else - : XXX Maybe we should just give up here. - db_hashtype=u_int32_t - echo "Help: I can't seem to compile the db test program." >&4 - echo "Something's wrong, but I'll assume you use $db_hashtype." >&4 - fi - $rm -f try.* - echo "Your version of Berkeley DB uses $db_hashtype for hash." - ;; -*) db_hashtype=u_int32_t - ;; -esac - -case "$i_db" in $define) : Check db version. echo " " @@ -8718,6 +8906,51 @@ esac case "$i_db" in define) + : Check the return type needed for hash + echo " " + echo "Checking return type needed for hash for Berkeley DB ..." >&4 + $cat >try.c <<EOCP +#$d_const HASCONST +#ifndef HASCONST +#define const +#endif +#include <sys/types.h> +#include <db.h> + +#ifndef DB_VERSION_MAJOR +u_int32_t hash_cb (ptr, size) +const void *ptr; +size_t size; +{ +} +HASHINFO info; +main() +{ + info.hash = hash_cb; +} +#endif +EOCP + if $cc $ccflags -c try.c >try.out 2>&1 ; then + if $contains warning try.out >>/dev/null 2>&1 ; then + db_hashtype='int' + else + db_hashtype='u_int32_t' + fi + else + : XXX Maybe we should just give up here. + db_hashtype=u_int32_t + $cat try.out >&4 + echo "Help: I can't seem to compile the db test program." >&4 + echo "Something's wrong, but I'll assume you use $db_hashtype." >&4 + fi + $rm -f try.* + echo "Your version of Berkeley DB uses $db_hashtype for hash." + ;; +*) db_hashtype=u_int32_t + ;; +esac +case "$i_db" in +define) : Check the return type needed for prefix echo " " echo "Checking return type needed for prefix for Berkeley DB ..." >&4 @@ -8751,6 +8984,7 @@ EOCP else db_prefixtype='size_t' : XXX Maybe we should just give up here. + $cat try.out >&4 echo "Help: I can't seem to compile the db test program." >&4 echo "Something's wrong, but I'll assume you use $db_prefixtype." >&4 fi @@ -8860,7 +9094,7 @@ $rm -f try.* .out echo " " case "$doublesize" in '') - echo "Checking to see how big your double precision numbers are..." >&4 + $echo $n "Checking to see how big your double precision numbers are...$c" >&4 $cat >try.c <<'EOCP' #include <stdio.h> main() @@ -8869,8 +9103,9 @@ main() } EOCP set try - if eval $compile; then + if eval $compile_ok; then doublesize=`./try` + $echo $doublesize >&4 else dflt='8' echo "(I can't seem to compile the test program. Guessing...)" @@ -8883,18 +9118,28 @@ esac $rm -f try.c try : see what type file positions are declared as in the library -set fpos_t fpostype long stdio.h sys/types.h -eval $typedef -echo " " -dflt="$fpostype" rp="What is the type for file position used by fsetpos()?" -. ./myread -fpostype="$ans" +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 : 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()." set gid_t gidtype xxx stdio.h sys/types.h eval $typedef case "$gidtype" in @@ -8908,10 +9153,13 @@ xxx) ;; *) dflt="$gidtype";; esac -echo " " -rp="What is the type for group ids returned by getgid()?" -. ./myread -gidtype="$ans" +case "$gidtype" in +gid_t) echo "gid_t found." ;; +*) rp="What is the type for group ids returned by getgid()?" + . ./myread + gidtype="$ans" + ;; +esac : see if getgroups exists set getgroups d_getgrps @@ -8931,11 +9179,11 @@ case "$d_getgrps$d_setgrps" in *) dflt="$groupstype" ;; esac $cat <<EOM -What is the type of the second argument to getgroups() and setgroups()? +What type of pointer is the second argument to getgroups() and setgroups()? Usually this is the same as group ids, $gidtype, but not always. EOM - rp='What type is the second argument to getgroups() and setgroups()?' + rp='What type pointer is the second argument to getgroups() and setgroups()?' . ./myread groupstype="$ans" ;; @@ -8943,13 +9191,9 @@ EOM 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 -echo " " -dflt="$lseektype" -rp="What type is lseek's offset on this system declared as?" -. ./myread -lseektype="$ans" +eval $typedef_ask echo " " echo "Checking if your $make program sets \$(MAKE)..." >&4 @@ -8972,13 +9216,9 @@ case "$make_set_make" in esac : see what type is used for mode_t +rp="What is the type used for file modes for system calls (e.g. fchmod())?" set mode_t modetype int stdio.h sys/types.h -eval $typedef -dflt="$modetype" -echo " " -rp="What type is used for file modes?" -. ./myread -modetype="$ans" +eval $typedef_ask : Cruising for prototypes echo " " @@ -9039,18 +9279,10 @@ EOSH chmod +x protochk $eunicefix protochk -: see if this is a netdb.h system -set netdb.h i_netdb -eval $inhdr - : see what type is used for size_t +rp="What is the type used for the length parameter for string functions?" set size_t sizetype 'unsigned int' stdio.h sys/types.h -eval $typedef -dflt="$sizetype" -echo " " -rp="What type is used for the length parameter for string functions?" -. ./myread -sizetype="$ans" +eval $typedef_ask : check for type of arguments to gethostbyaddr. if test "X$netdb_host_type" = X -o "X$netdb_hlen_type" = X; then @@ -9175,7 +9407,7 @@ EOM esac ;; *) : no getnetbyaddr, so pick harmless default - netdb_name_type='long' + netdb_net_type='long' ;; esac fi @@ -9205,19 +9437,15 @@ rp='What pager is used on your system?' pager="$ans" : see what type pids are declared as in the kernel +rp="What is the type of process ids on this system?" set pid_t pidtype int stdio.h sys/types.h -eval $typedef -dflt="$pidtype" -echo " " -rp="What type are process ids on this system declared as?" -. ./myread -pidtype="$ans" +eval $typedef_ask : check for length of pointer echo " " case "$ptrsize" in '') - echo "Checking to see how big your pointers are..." >&4 + $echo $n "Checking to see how big your pointers are...$c" >&4 if test "$voidflags" -gt 7; then echo '#define VOID_PTR char *' > try.c else @@ -9232,8 +9460,9 @@ main() } EOCP set try - if eval $compile; then + if eval $compile_ok; then ptrsize=`./try` + $echo " $ptrsize bytes." >&4 else dflt='4' echo "(I can't seem to compile the test program. Guessing...)" >&4 @@ -9278,7 +9507,7 @@ main() } EOCP set try - if eval $compile; then + if eval $compile_ok; then dflt=`./try$_exe` else dflt='?' @@ -9575,9 +9804,10 @@ 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" : generate a few handy files for later -$cat > signal.c <<'EOP' +$cat > signal.c <<'EOCP' #include <sys/types.h> #include <signal.h> +#include <stdio.h> int main() { /* Strange style to avoid deeply-nested #if/#else/#endif */ @@ -9632,7 +9862,10 @@ int main() { printf("NSIG %d\n", NSIG); -EOP +#ifndef JUST_NSIG + +EOCP + echo $xxx | $tr ' ' '\012' | $sort | $uniq | $awk ' { printf "#ifdef SIG"; printf $1; printf "\n" @@ -9641,6 +9874,7 @@ echo $xxx | $tr ' ' '\012' | $sort | $uniq | $awk ' printf "#endif\n" } END { + printf "#endif /* JUST_NSIG */\n"; printf "}\n"; } ' >>signal.c @@ -9677,22 +9911,69 @@ END { EOP $cat >signal_cmd <<EOS $startsh -$test -s signal.lst && exit 0 -if $cc $optimize $ccflags $ldflags -o signal signal.c $libs >/dev/null 2>&1; then +if $test -s signal.lst; then + echo "Using your existing signal.lst file" + exit 0 +fi +xxx="$xxx" +EOS +$cat >>signal_cmd <<'EOS' + +set signal +if eval $compile_ok; then ./signal$_exe | $sort -n +1 | $uniq | $awk -f signal.awk >signal.lst else - echo "(I can't seem be able to compile the test program -- Guessing)" + echo "(I can't seem be able to compile the whole test program)" >&4 + echo "(I'll try it in little pieces.)" >&4 + set signal -DJUST_NSIG + if eval $compile_ok; then + ./signal$_exe > signal.nsg + $cat signal.nsg + else + echo "I can't seem to figure out how many signals you have." >&4 + echo "Guessing 50." >&4 + echo 'NSIG 50' > signal.nsg + fi + : Now look at all the signal names, one at a time. + for xx in `echo $xxx | $tr ' ' '\012' | $sort | $uniq`; do + $cat > signal.c <<EOCP +#include <sys/types.h> +#include <signal.h> +#include <stdio.h> +int main() { +printf("$xx %d\n", SIG${xx}); +return 0; +} +EOCP + set signal + if eval $compile; then + echo "SIG${xx} found." + ./signal$_exe >> signal.ls1 + else + echo "SIG${xx} NOT found." + fi + done + if $test -s signal.ls1; then + $cat signal.nsg signal.ls1 | + $sort -n +1 | $uniq | $awk -f signal.awk >signal.lst + fi + +fi +if $test -s signal.lst; then + : +else + echo "(AAK! I can't compile the test programs -- Guessing)" >&4 echo 'kill -l' >signal - set X \`csh -f <signal\` + set X `csh -f <signal` $rm -f signal shift - case \$# in + case $# in 0) set HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM;; esac - echo \$@ | $tr ' ' '\012' | \ - $awk '{ printf \$1; printf " %d\n", ++s; }' >signal.lst + echo $@ | $tr ' ' '\012' | \ + $awk '{ printf $1; printf " %d\n", ++s; }' >signal.lst fi -$rm -f signal.c signal signal$_o +$rm -f signal.c signal$_exe signal$_o signal.nsg signal.ls1 EOS chmod a+x signal_cmd $eunicefix signal_cmd @@ -9702,7 +9983,7 @@ echo " " case "$sig_name_init" in '') echo "Generating a list of signal names and numbers..." >&4 - ./signal_cmd + . ./signal_cmd sig_name=`$awk '{printf "%s ", $1}' signal.lst` sig_name="ZERO $sig_name" sig_name_init=`$awk 'BEGIN { printf "\"ZERO\", " } @@ -9753,7 +10034,7 @@ main() EOM echo " " set ssize -if eval $compile && ./ssize > /dev/null; then +if eval $compile_ok && ./ssize > /dev/null; then ssizetype=`./ssize` echo "I'll be using $ssizetype for functions returning a byte count." >&4 else @@ -9787,13 +10068,9 @@ echo " " 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 - dflt="$timetype" - echo " " - rp="What type is returned by time() on this system?" - . ./myread - timetype="$ans" + eval $typedef_ask else echo 'time() not found, hope that will do.' >&4 val="$undef" @@ -9803,6 +10080,8 @@ set d_time eval $setvar : see what type uids are declared as in the kernel +echo " " +echo "Looking for the type for user ids returned by getuid()." set uid_t uidtype xxx stdio.h sys/types.h eval $typedef case "$uidtype" in @@ -9816,10 +10095,13 @@ xxx) ;; *) dflt="$uidtype";; esac -echo " " -rp="What is the type for user ids returned by getuid()?" -. ./myread -uidtype="$ans" +case "$uidtype" in +uid_t) echo "uid_t found." ;; +*) rp="What is the type for user ids returned by getuid()?" + . ./myread + uidtype="$ans" + ;; +esac : see if dbm.h is available : see if dbmclose exists @@ -10315,7 +10597,8 @@ eval $setvar echo " " echo "Looking for extensions..." >&4 -cd ../ext +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='' @@ -10336,7 +10619,7 @@ for xxx in * ; do known_extensions="$known_extensions $xxx/$yyy" fi done - cd .. + cd .. fi fi ;; @@ -10345,7 +10628,7 @@ done set X $known_extensions shift known_extensions="$*" -cd ../UU +cd $tdir : Now see which are supported on this system. avail_ext='' @@ -10603,7 +10886,6 @@ awk='$awk' baserev='$baserev' bash='$bash' bin='$bin' -bincompat3='$bincompat3' binexp='$binexp' bison='$bison' byacc='$byacc' @@ -10643,7 +10925,6 @@ d_archlib='$d_archlib' d_attribut='$d_attribut' d_bcmp='$d_bcmp' d_bcopy='$d_bcopy' -d_bincompat3='$d_bincompat3' d_bsd='$d_bsd' d_bsdgetpgrp='$d_bsdgetpgrp' d_bsdsetpgrp='$d_bsdsetpgrp' @@ -10667,6 +10948,10 @@ d_dlopen='$d_dlopen' d_dlsymun='$d_dlsymun' d_dosuid='$d_dosuid' d_dup2='$d_dup2' +d_endhent='$d_endhent' +d_endnent='$d_endnent' +d_endpent='$d_endpent' +d_endsent='$d_endsent' d_eofnblk='$d_eofnblk' d_eunice='$d_eunice' d_fchmod='$d_fchmod' @@ -10687,18 +10972,25 @@ d_gethbyaddr='$d_gethbyaddr' d_gethbyname='$d_gethbyname' d_gethent='$d_gethent' d_gethname='$d_gethname' +d_gethostprotos='$d_gethostprotos' d_getlogin='$d_getlogin' d_getnbyaddr='$d_getnbyaddr' d_getnbyname='$d_getnbyname' +d_getnent='$d_getnent' +d_getnetprotos='$d_getnetprotos' d_getpbyname='$d_getpbyname' d_getpbynumber='$d_getpbynumber' +d_getpent='$d_getpent' d_getpgid='$d_getpgid' d_getpgrp2='$d_getpgrp2' d_getpgrp='$d_getpgrp' d_getppid='$d_getppid' d_getprior='$d_getprior' +d_getprotoprotos='$d_getprotoprotos' d_getsbyname='$d_getsbyname' d_getsbyport='$d_getsbyport' +d_getsent='$d_getsent' +d_getservprotos='$d_getservprotos' d_gettimeod='$d_gettimeod' d_gnulibc='$d_gnulibc' d_htonl='$d_htonl' @@ -10709,6 +11001,8 @@ d_killpg='$d_killpg' d_link='$d_link' d_locconv='$d_locconv' d_lockf='$d_lockf' +d_longdbl='$d_longdbl' +d_longlong='$d_longlong' d_lstat='$d_lstat' d_mblen='$d_mblen' d_mbstowcs='$d_mbstowcs' @@ -10719,6 +11013,7 @@ d_memmove='$d_memmove' d_memset='$d_memset' d_mkdir='$d_mkdir' d_mkfifo='$d_mkfifo' +d_mkstemp='$d_mkstemp' d_mktime='$d_mktime' d_msg='$d_msg' d_msgctl='$d_msgctl' @@ -10765,6 +11060,8 @@ d_setgrps='$d_setgrps' d_sethent='$d_sethent' d_setlinebuf='$d_setlinebuf' d_setlocale='$d_setlocale' +d_setnent='$d_setnent' +d_setpent='$d_setpent' d_setpgid='$d_setpgid' d_setpgrp2='$d_setpgrp2' d_setpgrp='$d_setpgrp' @@ -10775,7 +11072,9 @@ d_setresuid='$d_setresuid' d_setreuid='$d_setreuid' d_setrgid='$d_setrgid' d_setruid='$d_setruid' +d_setsent='$d_setsent' d_setsid='$d_setsid' +d_setvbuf='$d_setvbuf' d_sfio='$d_sfio' d_shm='$d_shm' d_shmat='$d_shmat' @@ -10852,7 +11151,6 @@ fpostype='$fpostype' freetype='$freetype' full_csh='$full_csh' full_sed='$full_sed' -gcc='$gcc' gccversion='$gccversion' gidtype='$gidtype' glibpth='$glibpth' @@ -10949,6 +11247,8 @@ ln='$ln' lns='$lns' locincpth='$locincpth' loclibpth='$loclibpth' +longdblsize='$longdblsize' +longlongsize='$longlongsize' longsize='$longsize' lp='$lp' lpr='$lpr' @@ -18,12 +18,16 @@ #undef EXTCONST #undef dEXTCONST #if defined(VMS) && !defined(__GNUC__) + /* Suppress portability warnings from DECC for VMS-specific extensions */ +# ifdef __DECC +# pragma message disable (GLOBALEXT,NOSHAREEXT,READONLYEXT) +# endif # define EXT globalref # define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare # define EXTCONST globalref # define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly #else -# if defined(WIN32) && !defined(__GNUC__) && !defined(PERL_OBJECT) +# if defined(WIN32) && !defined(PERL_STATIC_SYMS) && !defined(__GNUC__) && !defined(PERL_OBJECT) # ifdef PERLDLL # define EXT extern __declspec(dllexport) # define dEXT @@ -6,7 +6,7 @@ Install - Build and Installation guide for perl5. The basic steps to build and install perl5 on a Unix system are: - rm -f config.sh + rm -f config.sh Policy.sh sh Configure make make test @@ -70,10 +70,10 @@ pod/perldelta.pod for a description of what's changed. =head1 Space Requirements -The complete perl5 source tree takes up about 7 MB of disk space. The -complete tree after completing make takes roughly 15 MB, though the +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 7 MB, though again that +directories need something on the order of 10 MB, though again that value is system-dependent. =head1 Start with a Fresh Distribution @@ -81,13 +81,20 @@ value is system-dependent. If you have built perl before, you should clean out the build directory with the command + make distclean + +or + make realclean -The results of a Configure run are stored in the config.sh file. 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. +The only difference between the two is that make distclean also removes +your old config.sh and Policy.sh files. + +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. mv config.sh config.sh.old @@ -108,6 +115,11 @@ pick up a precompiled binary, it might not use the same 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. + =head1 Run Configure Configure will figure out various things about your system. Some @@ -167,11 +179,11 @@ For my Solaris system, I usually use =head2 GNU-style configure If you prefer the GNU-style configure command line interface, you can -use the supplied configure command, e.g. +use the supplied configure.gnu command, e.g. CC=gcc ./configure.gnu -The configure script emulates a few of the more common configure +The configure.gnu script emulates a few of the more common configure options. Try ./configure.gnu --help @@ -180,7 +192,7 @@ for a listing. Cross compiling is not supported. -(The file is called configugre.gnu to avoid problems on systems +(The file is called configure.gnu to avoid problems on systems that would not distinguish the files "Configure" and "configure".) =head2 Extensions @@ -236,6 +248,11 @@ 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 @@ -457,7 +474,7 @@ installed on multiple systems. Here's one way to do that: cd /usr/local # Or wherever you specified as $prefix tar xvf perl5-archive.tar -=head2 Site-wide "Policy" settings +=head2 Site-wide Policy settings After Configure runs, it stores a number of common site-wide "policy" answers (such as installation directories and the local perl contact @@ -466,6 +483,15 @@ system using the same policy defaults, simply copy the Policy.sh file to the new system and Configure will use it along with the appropriate hint file for your system. +Alternatively, if you wish to change some or all of those policy +answers, you should + + rm -f Policy.sh + +to ensure that Configure doesn't re-use them. + +Further information is in the Policy_sh.SH file itself. + =head2 Configure-time Options There are several different ways to Configure and build perl for your @@ -962,8 +988,8 @@ at Perl startup. =item malloc duplicates -If you get duplicates upon linking for malloc et al, add -DHIDEMYMALLOC -or -DEMBEDMYMALLOC to your ccflags variable in config.sh. +If you get duplicates upon linking for malloc et al, add -DEMBEDMYMALLOC +to your ccflags variable in config.sh. =item varargs @@ -1300,7 +1326,7 @@ In general, you can usually safely upgrade from one version of Perl (e.g. all of your add-on extensions. You can also safely leave the old version around in case the new version causes you problems for some reason. For example, if you want to be sure that your script continues to run -with 5.004_04, simplly replace the '#!/usr/local/bin/perl' line at the +with 5.004_04, simply replace the '#!/usr/local/bin/perl' line at the top of the script with the particular version you want to run, e.g. #!/usr/local/bin/perl5.00404. @@ -1376,7 +1402,7 @@ to be recompiled to be used with 5.004_50 and later. If you wish to continue using those extensions under 5.004_04, for example, then you need to move those extensions from their current -direcotries, which are something like +directories, which are something like /usr/local/lib/perl5/site_perl/ /usr/local/lib/perl5/site_perl/archname @@ -1509,4 +1535,4 @@ above. =head1 LAST MODIFIED -$Id: INSTALL,v 1.31 1998/03/03 18:08:52 doughera Released $ +$Id: INSTALL,v 1.32 1998/03/20 19:20:08 doughera Released $ @@ -18,6 +18,10 @@ #undef EXTCONST #undef dEXTCONST #if defined(VMS) && !defined(__GNUC__) + /* Suppress portability warnings from DECC for VMS-specific extensions */ +# ifdef __DECC +# pragma message disable (GLOBALEXT,NOSHAREEXT,READONLYEXT) +# endif # define EXT globaldef {"$GLOBAL_RW_VARS"} noshare # define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare # define EXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly @@ -4,6 +4,7 @@ Changes5.000 Differences between 4.x and 5.000 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 Configure Portability tool Copying The GNU General Public License EXTERN.h Included before foreign .h files @@ -268,6 +269,7 @@ ext/Thread/Thread.pm Thread extension Perl module ext/Thread/Thread.xs Thread extension external subroutines ext/Thread/Thread/Queue.pm Thread synchronised queue objects ext/Thread/Thread/Semaphore.pm Thread semaphore objects +ext/Thread/Thread/Signal.pm Start a thread to run signal handlers ext/Thread/Thread/Specific.pm Thread specific data access ext/Thread/create.t Test thread creation ext/Thread/die.t Test thread die() @@ -423,6 +425,7 @@ lib/Exporter.pm Exporter base class 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_OS2.pm MakeMaker methods for OS/2 lib/ExtUtils/MM_Unix.pm MakeMaker base class for Unix @@ -432,6 +435,8 @@ lib/ExtUtils/MakeMaker.pm Write Makefiles for extensions lib/ExtUtils/Manifest.pm Utilities to write MANIFEST files lib/ExtUtils/Mkbootstrap.pm Writes a bootstrap file (see MakeMaker) lib/ExtUtils/Mksymlists.pm Writes a linker options file for extensions +lib/ExtUtils/Packlist.pm Manipulates .packlist files +lib/ExtUtils/inst Give information about installed extensions lib/ExtUtils/testlib.pm Fixes up @INC to use just-built extension lib/ExtUtils/typemap Extension interface types lib/ExtUtils/xsubpp External subroutine preprocessor @@ -832,6 +837,7 @@ t/op/glob.t See if <*> works t/op/goto.t See if goto works t/op/groups.t See if $( works t/op/gv.t See if typeglobs work +t/op/hashwarn.t See if warnings for bad hash assignments work 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 @@ -105,18 +105,14 @@ #define curpm pPerl->Perl_curpm #undef curstack #define curstack pPerl->Perl_curstack +#undef curstackinfo +#define curstackinfo pPerl->Perl_curstackinfo #undef curstash #define curstash pPerl->Perl_curstash #undef curstname #define curstname pPerl->Perl_curstname #undef curthr #define curthr pPerl->Perl_curthr -#undef cxstack -#define cxstack pPerl->Perl_cxstack -#undef cxstack_ix -#define cxstack_ix pPerl->Perl_cxstack_ix -#undef cxstack_max -#define cxstack_max pPerl->Perl_cxstack_max #undef dbargs #define dbargs pPerl->Perl_dbargs #undef debdelim @@ -551,14 +547,10 @@ #define siggv pPerl->Perl_siggv #undef sighandlerp #define sighandlerp pPerl->Perl_sighandlerp -#undef signalstack -#define signalstack pPerl->Perl_signalstack #undef sortcop #define sortcop pPerl->Perl_sortcop #undef sortcxix #define sortcxix pPerl->Perl_sortcxix -#undef sortstack -#define sortstack pPerl->Perl_sortstack #undef sortstash #define sortstash pPerl->Perl_sortstash #undef splitstr @@ -1228,6 +1220,8 @@ #define newASSIGNOP pPerl->Perl_newASSIGNOP #undef newCONDOP #define newCONDOP pPerl->Perl_newCONDOP +#undef newCONSTSUB +#define newCONSTSUB pPerl->Perl_newCONSTSUB #undef newFORM #define newFORM pPerl->Perl_newFORM #undef newFOROP @@ -1315,6 +1309,8 @@ #define newWHILEOP pPerl->Perl_newWHILEOP #undef new_struct_thread #define new_struct_thread pPerl->Perl_new_struct_thread +#undef new_stackinfo +#define new_stackinfo pPerl->Perl_new_stackinfo #undef new_sv #define new_sv pPerl->new_sv #undef new_xnv diff --git a/Policy_sh.SH b/Policy_sh.SH index 1f84d7a332..acac3ed8af 100644 --- a/Policy_sh.SH +++ b/Policy_sh.SH @@ -13,70 +13,59 @@ $startsh # # The idea here is to distill in one place the common site-wide # "policy" answers (such as installation directories) that are -# to be "sticky". That is, if you keep the file Policy.sh around in +# to be "sticky". If you keep the file Policy.sh around in # the same directory as you are building Perl, then Configure will # (by default) load up the Policy.sh file just before the # platform-specific hints file. -# +# #Credits: # The original design for this Policy.sh file came from Wayne Davison, # maintainer of trn. -# This version for Perl5.004_61 originally written by +# This version for Perl5.004_61 originally written by # Andy Dougherty <doughera@lafcol.lafayette.edu>. # This file may be distributed under the same terms as Perl itself. +# Allow Configure command-line overrides; usually these won't be +# needed, but something like -Dprefix=/test/location can be quite +# useful for testing out new versions. -# Site-specific values +#Site-specific values: -perladmin='$perladmin' +case "\$perladmin" in +'') perladmin='$perladmin' ;; +esac + +# Installation prefix. Allow a Configure -D override. You +# may wish to reinstall perl under a different prefix, perhaps +# in order to test a different configuration. +case "\$prefix" in +'') prefix='$prefix' ;; +esac # Installation directives. Note that each one comes in three flavors. # For example, we have privlib, privlibexp, and installprivlib. # privlib is for private (to perl) library files. # privlibexp is the same, expcept any '~' the user gave to Configure # is expanded to the user's home directory. This is figured -# out automatically by Configure, so you don't have to include it here. +# out automatically by Configure, so you don't have to include it here. # installprivlib is for systems (such as those running AFS) that # need to distinguish between the place where things # get installed and where they finally will reside. - -# Installation Prefix. -prefix='$prefix' - -bin='$bin' -installbin='$installbin' - -scriptdir='$scriptdir' -installscript='$installscript' - -privlib='$privlib' -installprivlib='$installprivlib' - -sitelib='$sitelib' -installsitelib='$installsitelib' - -# man1 and man3 manpage directories and extensions. -man1dir='$man1dir' -man1ext='$man1ext' -installman1dir='$installman1dir' -man3dir='$man3dir' -man3ext='$man3ext' -installman3dir='$installman3dir' - -# NOTE: Be careful about architecture-dependent names. If you have -# accepted the default, the following definitions will be commented out. -# That way you can carry this file to another architecture and this file -# won't mistakenly set architecture-dependent names to the wrong value. +# +# In each case, if your previous value was the default, leave it commented +# out. That way, if you override prefix, all of these will be +# automatically adjusted. # -# If you have not accepted the default, then be sure to check the -# following lines before copying this file to another system. +# NOTE: Be especially careful about architecture-dependent and +# version-dependent names, particularly if you reuse this file for +# different versions of perl. !GROK!THIS! if test 0 -eq "$subversion"; then version=`LC_ALL=C; export LC_ALL; \ - echo $baserev $patchlevel | + echo $baserev $patchlevel | $awk '{ printf "%.3f\n", $1 + $2/1000.0 }'` else version=`LC_ALL=C; export LC_ALL; \ @@ -84,34 +73,68 @@ else $awk '{ printf "%.5f\n", $1 + $2/1000.0 + $3/100000.0 }'` fi -dflt="$privlib/$archname/$version" -if test X"$archlib" = X"$dflt"; then - echo "# archlib='$archlib'" - echo "# installarchlib='$installarchlib'" -else - echo '# NOTE: Preserving your custom archlib.' - echo "archlib='$archlib'" - echo "installarchlib='$installarchlib'" -fi >> Policy.sh -echo >> Policy.sh - -# Now consider sitearch. -dflt="$sitelib/$archname" -if test X"$sitearch" = X"$dflt"; then - echo "# sitearch='$sitearch'" - echo "# installsitearch='$installsitearch'" -else - echo '# NOTE: Preserving your custom sitearch.' - echo "sitearch='$sitearch'" - echo "installsitearch='$installsitearch'" -fi >> Policy.sh +for var in bin scriptdir privlib archlib \ + man1dir man3dir sitelib sitearch \ + installbin installscript installprivlib installarchlib \ + installman1dir installman3dir installsitelib installsitearch \ + man1ext man3ext; do + + case "$var" in + bin) dflt=$prefix/bin ;; + # The scriptdir test is more complex, but this is probably usually ok. + scriptdir) dflt=$prefix/script ;; + privlib) + case "$prefix" in + *perl*) dflt=$prefix/lib ;; + *) dflt=$prefix/lib/$package ;; + esac + ;; + archlib) dflt="$privlib/$archname/$version" ;; + sitelib) dflt="$privlib/site_perl" ;; + sitearch) dflt="$sitelib/$archname" ;; + man1dir) dflt="$prefix/man/man1" ;; + man3dir) + case "$prefix" in + *perl*) dflt=`echo $man1dir | + sed -e 's/man1/man3/g' -e 's/man\.1/man\.3/g'` ;; + *) dflt=$privlib/man3 ;; + esac + ;; + + # Can we assume all sed's have greedy matching? + man1ext) dflt=`echo $man1dir | sed -e 's!.*man!!' -e 's!^\.!!'` ;; + man3ext) dflt=`echo $man3dir | sed -e 's!.*man!!' -e 's!^\.!!'` ;; + + # It might be possible to fool these next tests. Please let + # me know if they don't work right for you. + installbin) dflt=`echo $binexp | sed 's#^/afs/#/afs/.#'`;; + installscript) dflt=`echo $scriptdirexp | sed 's#^/afs/#/afs/.#'`;; + installprivlib) dflt=`echo $privlibexp | sed 's#^/afs/#/afs/.#'`;; + installarchlib) dflt=`echo $archlibexp | sed 's#^/afs/#/afs/.#'`;; + installsitelib) dflt=`echo $sitelibexp | sed 's#^/afs/#/afs/.#'`;; + installsitearch) dflt=`echo $sitearchexp | sed 's#^/afs/#/afs/.#'`;; + installman1dir) dflt=`echo $man1direxp | sed 's#^/afs/#/afs/.#'`;; + installman3dir) dflt=`echo $man3direxp | sed 's#^/afs/#/afs/.#'`;; + esac + + eval val="\$$var" + if test X"$val" = X"$dflt"; then + echo "# $var='$dflt'" + else + echo "# Preserving custom $var" + eval val=$var + echo "$var='$val'" + fi + +done >> Policy.sh $spitshell <<!GROK!THIS! >>Policy.sh -# Lastly, you may add additional items here. For example, to set the +# Lastly, you may add additional items here. For example, to set the # pager to your local favorite value, uncomment the following line in # the original Policy_sh.SH file and re-run sh Policy_sh.SH. -# $pager='$pager' +# +# pager='$pager' # # A full Glossary of all the config.sh variables is in the file # Porting/Glossary. diff --git a/Porting/Glossary b/Porting/Glossary index fe7e630ee9..6a37060020 100644 --- a/Porting/Glossary +++ b/Porting/Glossary @@ -62,10 +62,6 @@ 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. -bincompat3 (bincompat3.U): - This variable contains y if Perl 5.004 should be binary-compatible - with Perl 5.003. - binexp (bin.U): This is the same as the bin variable, but is filename expanded at configuration time, for use in your makefiles. @@ -188,6 +184,11 @@ 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_attribut (d_attribut.U): + This variable conditionally defines HASATTRIBUTE, which + indicates the C compiler can check for function attributes, + such as printf formats. + d_bcmp (d_bcmp.U): This variable conditionally defines the HAS_BCMP symbol if the bcmp() routine is available to compare strings. @@ -196,12 +197,6 @@ d_bcopy (d_bcopy.U): This variable conditionally defines the HAS_BCOPY symbol if the bcopy() routine is available to copy strings. -d_bincompat3 (bincompat3.U): - This variable conditionally defines BINCOMPAT3 so that embed.h - can take special action if Perl 5.004 should be binary-compatible - with Perl 5.003. This is impossible for 5.004_50 and later, so - it is always $undef for those versions. - d_bsd (Guess.U): This symbol conditionally defines the symbol BSD when running on a BSD system. @@ -210,6 +205,11 @@ d_bsdgetpgrp (d_getpgrp.U): This variable conditionally defines USE_BSD_GETPGRP if getpgrp needs one arguments whereas USG one needs none. +d_bsdsetpgrp (d_setpgrp.U): + This variable conditionally defines USE_BSD_SETPGRP if + setpgrp needs two arguments whereas USG one needs none. + See also d_setpgid for a POSIX interface. + d_bzero (d_bzero.U): This variable conditionally defines the HAS_BZERO symbol if the bzero() routine is available to set memory to 0. @@ -299,6 +299,22 @@ d_dup2 (d_dup2.U): This variable conditionally defines HAS_DUP2 if dup2() is available to duplicate file descriptors. +d_endhent (d_endhent.U): + This variable conditionally defines HAS_ENDHOSTENT if endhostent() is + available to close whatever was being used for host queries. + +d_endnent (d_endnent.U): + This variable conditionally defines HAS_ENDNETENT if endnetent() is + available to close whatever was being used for network queries. + +d_endpent (d_endpent.U): + This variable conditionally defines HAS_ENDPROTOENT if endprotoent() is + available to close whatever was being used for protocol queries. + +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_eofnblk (nblock_io.U): This variable conditionally defines EOF_NONBLOCK if EOF can be seen when reading from a non-blocking I/O source. @@ -378,6 +394,11 @@ d_gethbyaddr (d_gethbyad.U): indicates to the C program that the gethostbyaddr() routine is available to look up hosts by their IP addresses. +d_gethbyname (d_gethbynm.U): + This variable conditionally defines the HAS_GETHOSTBYNAME symbol, which + indicates to the C program that the gethostbyname() routine is available + to look up host names in some data base or other. + d_gethent (d_gethent.U): This variable conditionally defines HAS_GETHOSTENT if gethostent() is available to look up host names in some data base or another. @@ -387,6 +408,12 @@ d_gethname (d_gethname.U): indicates to the C program that the gethostname() routine may be used to derive the host name. +d_gethostprotos (d_gethostprotos.U): + This variable conditionally defines the HAS_GETHOST_PROTOS symbol, + which indicates to the C program that <netdb.h> supplies + prototypes for the various gethost*() functions. + See also netdbtype.U for probing for various netdb types. + d_getlogin (d_getlogin.U): This variable conditionally defines the HAS_GETLOGIN symbol, which indicates to the C program that the getlogin() routine is available @@ -402,6 +429,16 @@ d_getnbyname (d_getnbynm.U): indicates to the C program that the getnetbyname() routine is available to look up networks by their names. +d_getnent (d_getnent.U): + This variable conditionally defines HAS_GETNETENT if getnetent() is + available to look up network names in some data base or another. + +d_getnetprotos (d_getnetprotos.U): + This variable conditionally defines the HAS_GETNET_PROTOS symbol, + which indicates to the C program that <netdb.h> supplies + prototypes for the various getnet*() functions. + See also netdbtype.U for probing for various netdb types. + d_getpbyname (d_getprotby.U): This variable conditionally defines the HAS_GETPROTOBYNAME symbol, which indicates to the C program that the @@ -414,6 +451,10 @@ d_getpbynumber (d_getprotby.U): getprotobynumber() routine is available to look up protocols by their number. +d_getpent (d_getpent.U): + This variable conditionally defines HAS_GETPROTOENT if getprotoent() is + available to look up protocols in some data base or another. + d_getpgid (d_getpgid.U): This variable conditionally defines the HAS_GETPGID symbol, which indicates to the C program that the getpgid(pid) function @@ -437,6 +478,12 @@ d_getprior (d_getprior.U): This variable conditionally defines HAS_GETPRIORITY if getpriority() is available to get a process's priority. +d_getprotoprotos (d_getprotoprotos.U): + This variable conditionally defines the HAS_GETPROTO_PROTOS symbol, + which indicates to the C program that <netdb.h> supplies + prototypes for the various getproto*() functions. + See also netdbtype.U for probing for various netdb types. + d_getsbyname (d_getsrvby.U): This variable conditionally defines the HAS_GETSERVBYNAME symbol, which indicates to the C program that the @@ -449,6 +496,16 @@ d_getsbyport (d_getsrvby.U): getservbyport() routine is available to look up services by their port. +d_getsent (d_getsent.U): + This variable conditionally defines HAS_GETSERVENT if getservent() is + available to look up network services in some data base or another. + +d_getservprotos (d_getservprotos.U): + This variable conditionally defines the HAS_GETSERV_PROTOS symbol, + which indicates to the C program that <netdb.h> supplies + prototypes for the various getserv*() functions. + See also netdbtype.U for probing for various netdb types. + d_gettimeod (d_ftime.U): This variable conditionally defines the HAS_GETTIMEOFDAY symbol, which indicates that the gettimeofday() system call exists (to obtain a @@ -491,6 +548,14 @@ d_lockf (d_lockf.U): This variable conditionally defines HAS_LOCKF if lockf() is available to do file locking. +d_longdbl (d_longdbl.U): + This variable conditionally defines HAS_LONG_DOUBLE if + the long double type is supported. + +d_longlong (d_longlong.U): + This variable conditionally defines HAS_LONG_LONG if + the long long type is supported. + d_lstat (d_lstat.U): This variable conditionally defines HAS_LSTAT if lstat() is available to do file stats on symbolic links. @@ -539,6 +604,11 @@ 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 create and open a unique tempporary 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. @@ -746,6 +816,14 @@ d_setlocale (d_setlocale.U): This variable conditionally defines HAS_SETLOCALE if setlocale() is available to handle locale-specific ctype implementations. +d_setnent (d_setnent.U): + This variable conditionally defines HAS_SETNETENT if setnetent() is + available. + +d_setpent (d_setpent.U): + This variable conditionally defines HAS_SETPROTOENT if setprotoent() is + available. + d_setpgid (d_setpgid.U): This variable conditionally defines the HAS_SETPGID symbol if the setpgid(pid, gpid) function is available to set process group ID. @@ -793,10 +871,19 @@ d_setruid (d_setruid.U): indicates to the C program that the setruid() routine is available to change the real uid of the current program. +d_setsent (d_setsent.U): + This variable conditionally defines HAS_SETSERVENT if setservent() is + available. + d_setsid (d_setsid.U): This variable conditionally defines HAS_SETSID if setsid() is available to set the process group ID. +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 + to change buffering on an open stdio stream. + d_sfio (d_sfio.U): This variable conditionally defines the USE_SFIO symbol, and indicates whether sfio is available (and should be used). @@ -1161,6 +1248,11 @@ i_db (i_db.U): This variable conditionally defines the I_DB symbol, and indicates whether a C program may include Berkeley's DB include file <db.h>. +i_dbm (i_dbm.U): + This variable conditionally defines the I_DBM symbol, which + indicates to the C program that <dbm.h> exists and should + be included. + i_dirent (i_dirent.U): This variable conditionally defines I_DIRENT, which indicates to the C program that it should include <dirent.h>. @@ -1184,6 +1276,11 @@ i_float (i_float.U): whether a C program may include <float.h> to get symbols like DBL_MAX or DBL_MIN, i.e. machine dependent floating point values. +i_gdbm (i_gdbm.U): + This variable conditionally defines the I_GDBM symbol, which + indicates to the C program that <gdbm.h> exists and should + be included. + i_grp (i_grp.U): This variable conditionally defines the I_GRP symbol, and indicates whether a C program should include <grp.h>. @@ -1209,6 +1306,11 @@ i_memory (i_memory.U): This variable conditionally defines the I_MEMORY symbol, and indicates whether a C program should include <memory.h>. +i_ndbm (i_ndbm.U): + This variable conditionally defines the I_NDBM symbol, which + indicates to the C program that <ndbm.h> exists and should + be included. + i_netdb (i_netdb.U): This variable conditionally defines the I_NETDB symbol, and indicates whether a C program should include <netdb.h>. @@ -1498,6 +1600,16 @@ loclibpth (libpth.U): 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 + indicates to the C program how many bytes there are in a long double, + if this system supports long doubles. + +longlongsize (d_longlong.U): + This variable contains the value of the LONGLONGSIZE symbol, which + indicates to the C program how many bytes there are in a long long, + if this system supports long long. + longsize (intsize.U): This variable contains the value of the LONGSIZE symbol, which indicates to the C program how many bytes there are in a long. @@ -1594,6 +1706,12 @@ mydomain (myhostname.U): The domain must be appended to myhostname to form a complete host name. The dot comes with mydomain, and need not be supplied by the program. +myhostname (myhostname.U): + This variable contains the eventual value of the MYHOSTNAME symbol, + which is the name of the host the program is going to run on. + The domain is not kept with hostname, but must be gotten from mydomain. + The dot comes with mydomain, and need not be supplied by the program. + myuname (Oldconfig.U): The output of 'uname -a' if available, otherwise the hostname. On Xenix, pseudo variables assignments in the output are stripped, thank you. The @@ -1900,6 +2018,11 @@ split (models.U): machines that support separation of instruction and data space. It is up to the Makefile to use this. +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 + find the sources remotely. + ssizetype (ssizetype.U): This variable defines ssizetype to be something like ssize_t, long or int. It is used by functions that return a count diff --git a/Porting/config.sh b/Porting/config.sh index 4fb150ef9d..ff4f72528b 100644 --- a/Porting/config.sh +++ b/Porting/config.sh @@ -8,7 +8,7 @@ # Package name : perl5 # Source directory : . -# Configuration time: Tue Mar 3 11:39:44 EST 1998 +# Configuration time: Tue Mar 31 15:51:58 EST 1998 # Configured by : doughera # Target system : linux fractal 2.0.33 #1 tue feb 3 10:11:46 est 1998 i686 unknown @@ -30,21 +30,20 @@ afs='false' alignbytes='4' aphostname='' ar='ar' -archlib='/opt/perl/lib/i686-linux-thread/5.00461' -archlibexp='/opt/perl/lib/i686-linux-thread/5.00461' +archlib='/opt/perl/lib/i686-linux-thread/5.00463' +archlibexp='/opt/perl/lib/i686-linux-thread/5.00463' archname='i686-linux-thread' archobjs='' awk='awk' baserev='5.0' bash='' bin='/opt/perl/bin' -bincompat3='' binexp='/opt/perl/bin' bison='' byacc='byacc' byteorder='1234' c='' -castflags='1' +castflags='0' cat='cat' cc='cc' cccdlflags='-fpic' @@ -52,7 +51,7 @@ ccdlflags='-rdynamic' ccflags='-D_REENTRANT -Dbool=char -DHAS_BOOL -I/usr/local/include' cf_by='doughera' cf_email='yourname@yourhost.yourplace.com' -cf_time='Tue Mar 3 11:39:44 EST 1998' +cf_time='Tue Mar 31 15:51:58 EST 1998' chgrp='' chmod='' chown='' @@ -78,13 +77,12 @@ d_archlib='define' d_attribut='define' d_bcmp='define' d_bcopy='define' -d_bincompat3='undef' d_bsd='undef' d_bsdgetpgrp='undef' d_bsdsetpgrp='undef' d_bzero='define' -d_casti32='define' -d_castneg='undef' +d_casti32='undef' +d_castneg='define' d_charvspr='undef' d_chown='define' d_chroot='define' @@ -102,6 +100,10 @@ d_dlopen='define' d_dlsymun='undef' d_dosuid='undef' d_dup2='define' +d_endhent='define' +d_endnent='define' +d_endpent='define' +d_endsent='define' d_eofnblk='define' d_eunice='undef' d_fchmod='define' @@ -122,18 +124,25 @@ d_gethbyaddr='define' d_gethbyname='define' d_gethent='define' d_gethname='undef' +d_gethostprotos='define' d_getlogin='define' d_getnbyaddr='define' d_getnbyname='define' +d_getnent='define' +d_getnetprotos='define' d_getpbyname='define' d_getpbynumber='define' +d_getpent='define' d_getpgid='define' d_getpgrp2='undef' d_getpgrp='define' d_getppid='define' d_getprior='define' +d_getprotoprotos='define' d_getsbyname='define' d_getsbyport='define' +d_getsent='define' +d_getservprotos='define' d_gettimeod='define' d_gnulibc='define' d_htonl='define' @@ -144,6 +153,8 @@ d_killpg='define' d_link='define' d_locconv='define' d_lockf='define' +d_longdbl='define' +d_longlong='define' d_lstat='define' d_mblen='define' d_mbstowcs='define' @@ -154,6 +165,7 @@ d_memmove='define' d_memset='define' d_mkdir='define' d_mkfifo='define' +d_mkstemp='define' d_mktime='define' d_msg='define' d_msgctl='define' @@ -200,6 +212,8 @@ d_setgrps='define' d_sethent='define' d_setlinebuf='define' d_setlocale='define' +d_setnent='define' +d_setpent='define' d_setpgid='define' d_setpgrp2='undef' d_setpgrp='define' @@ -210,7 +224,9 @@ d_setresuid='undef' d_setreuid='define' d_setrgid='undef' d_setruid='undef' +d_setsent='define' d_setsid='define' +d_setvbuf='define' d_sfio='undef' d_shm='define' d_shmat='define' @@ -287,7 +303,6 @@ fpostype='fpos_t' freetype='void' full_csh='/bin/csh' full_sed='/bin/sed' -gcc='' gccversion='2.7.2.3' gidtype='gid_t' glibpth='/usr/shlib /shlib /lib/pa1.1 /usr/lib/large /lib /usr/lib /usr/lib/386 /lib/386 /lib/large /usr/lib/small /lib/small /usr/ccs/lib /usr/ucblib /usr/local/lib ' @@ -355,7 +370,7 @@ i_varhdr='stdarg.h' i_vfork='undef' incpath='' inews='' -installarchlib='/opt/perl/lib/i686-linux-thread/5.00461' +installarchlib='/opt/perl/lib/i686-linux-thread/5.00463' installbin='/opt/perl/bin' installman1dir='/opt/perl/man/man1' installman3dir='/opt/perl/man/man3' @@ -384,6 +399,8 @@ ln='ln' lns='/bin/ln -s' locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include' loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib' +longdblsize='12' +longlongsize='8' longsize='4' lp='' lpr='' @@ -499,7 +516,7 @@ stdio_filbuf='' stdio_ptr='((fp)->_IO_read_ptr)' strings='/usr/include/string.h' submit='' -subversion='61' +subversion='63' sysman='/usr/man/man1' tail='' tar='' @@ -532,5 +549,5 @@ xlibpth='/usr/lib/386 /lib/386' zcat='' zip='zip' PATCHLEVEL=4 -SUBVERSION=61 +SUBVERSION=63 CONFIG=true diff --git a/Porting/config_H b/Porting/config_H index 8079a38331..2f07d01ee4 100644 --- a/Porting/config_H +++ b/Porting/config_H @@ -17,7 +17,7 @@ /* * Package name : perl5 * Source directory : . - * Configuration time: Tue Mar 3 11:39:44 EST 1998 + * Configuration time: Tue Mar 31 15:51:58 EST 1998 * Configured by : doughera * Target system : linux fractal 2.0.33 #1 tue feb 3 10:11:46 est 1998 i686 unknown */ @@ -641,17 +641,6 @@ #define Shmat_t void * /**/ #define HAS_SHMAT_PROTOTYPE /**/ -/* HAS_SOCKET: - * This symbol, if defined, indicates that the BSD socket interface is - * supported. - */ -/* HAS_SOCKETPAIR: - * This symbol, if defined, indicates that the BSD socketpair() call is - * supported. - */ -#define HAS_SOCKET /**/ -#define HAS_SOCKETPAIR /**/ - /* USE_STAT_BLOCKS: * This symbol is defined if this system has a stat structure declaring * st_blksize and st_blocks. @@ -762,20 +751,6 @@ */ #define HAS_TCSETPGRP /**/ -/* Time_t: - * This symbol holds the type returned by time(). It can be long, - * or time_t on BSD sites (in which case <sys/types.h> 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 <sys/times.h>. - */ -#define HAS_TIMES /**/ - /* HAS_TRUNCATE: * This symbol, if defined, indicates that the truncate routine is * available to truncate files. @@ -831,22 +806,6 @@ */ #define HAS_WCTOMB /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Fpos_t fpos_t /* File position type */ - -/* 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 <sys/types.h> to get - * any typedef'ed information. - */ -#define Gid_t gid_t /* Type for getgid(), etc... */ - /* I_DBM: * This symbol, if defined, indicates that <dbm.h> exists and should * be included. @@ -1059,12 +1018,6 @@ */ #define I_SYS_TIMES /**/ -/* I_SYS_TYPES: - * This symbol, if defined, indicates to the C program that it should - * include <sys/types.h>. - */ -#define I_SYS_TYPES /**/ - /* I_SYS_UN: * This symbol, if defined, indicates to the C program that it should * include <sys/un.h> to get UNIX domain socket definitions. @@ -1134,13 +1087,6 @@ */ /*#define I_VFORK / **/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Off_t off_t /* <offset> type */ - /* Free_t: * This variable contains the return type of free(). It is usually * void, but occasionally int. @@ -1156,21 +1102,6 @@ */ /*#define MYMALLOC / **/ -/* 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 <sys/types.h> - * to get any typedef'ed information. - */ -#define Mode_t mode_t /* file mode parameter for system calls */ - -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Pid_t pid_t /* PID type */ - /* CAN_PROTOTYPE: * If defined, this macro indicates that the C compiler can handle * function prototypes. @@ -1198,27 +1129,12 @@ */ #define SH_PATH "/bin/sh" /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Size_t size_t /* length paramater for string functions */ - /* STDCHAR: * 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 /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Uid_t uid_t /* UID type */ - /* VOIDFLAGS: * This symbol indicates how much support of the void type is given by this * compiler. What various bits mean: @@ -1282,7 +1198,7 @@ * This symbol is defined if the C compiler can cast negative * or large floating point numbers to 32-bit ints. */ -#define CASTI32 /**/ +/*#define CASTI32 / **/ /* CASTNEGFLOAT: * This symbol is defined if the C compiler can cast negative @@ -1296,8 +1212,8 @@ * 2 = couldn't cast >= 0x80000000 * 4 = couldn't cast in argument expression list */ -/*#define CASTNEGFLOAT / **/ -#define CASTFLAGS 1 /**/ +#define CASTNEGFLOAT /**/ +#define CASTFLAGS 0 /**/ /* VOID_CLOSEDIR: * This symbol, if defined, indicates that the closedir() routine @@ -1574,8 +1490,8 @@ * 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/i686-linux-thread/5.00461" /**/ -#define ARCHLIB_EXP "/opt/perl/lib/i686-linux-thread/5.00461" /**/ +#define ARCHLIB "/opt/perl/lib/i686-linux-thread/5.00463" /**/ +#define ARCHLIB_EXP "/opt/perl/lib/i686-linux-thread/5.00463" /**/ /* CAT2: * This macro catenates 2 tokens together. @@ -1598,10 +1514,36 @@ #endif /* CSH: - * This symbol, if defined, indicates that the C-shell exists. - * If defined, contains the full pathname of csh. + * This symbol, if defined, contains the full pathname of csh. + */ +#define HAS_CSH /**/ +#ifdef HAS_CSH +#define CSH "/bin/csh" /**/ +#endif + +/* HAS_ENDHOSTENT: + * This symbol, if defined, indicates that the endhostent() routine is + * available to close whatever was being used for host queries. */ -#define CSH "/bin/csh" /**/ +#define HAS_ENDHOSTENT /**/ + +/* HAS_ENDNETENT: + * This symbol, if defined, indicates that the endnetent() routine is + * available to close whatever was being used for network queries. + */ +#define HAS_ENDNETENT /**/ + +/* HAS_ENDPROTOENT: + * This symbol, if defined, indicates that the endprotoent() routine is + * available to close whatever was being used for protocol queries. + */ +#define HAS_ENDPROTOENT /**/ + +/* HAS_ENDSERVENT: + * This symbol, if defined, indicates that the endservent() routine is + * available to close whatever was being used for service queries. + */ +#define HAS_ENDSERVENT /**/ /* HAS_GETHOSTBYADDR: * This symbol, if defined, indicates that the gethostbyaddr() routine is @@ -1633,6 +1575,18 @@ */ #define HAS_GETNETBYNAME /**/ +/* HAS_GETNETENT: + * This symbol, if defined, indicates that the getnetent() routine is + * available to look up network names in some data base or another. + */ +#define HAS_GETNETENT /**/ + +/* HAS_GETPROTOENT: + * This symbol, if defined, indicates that the getprotoent() routine is + * available to look up protocols in some data base or another. + */ +#define HAS_GETPROTOENT /**/ + /* HAS_GETPROTOBYNAME: * This symbol, if defined, indicates that the getprotobyname() * routine is available to look up protocols by their name. @@ -1644,6 +1598,12 @@ #define HAS_GETPROTOBYNAME /**/ #define HAS_GETPROTOBYNUMBER /**/ +/* 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_GETSERVBYNAME: * This symbol, if defined, indicates that the getservbyname() * routine is available to look up services by their name. @@ -1655,6 +1615,40 @@ #define HAS_GETSERVBYNAME /**/ #define HAS_GETSERVBYPORT /**/ +/* HAS_LONG_DOUBLE: + * This symbol will be defined if the C compiler supports long + * doubles. + */ +/* 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. + */ +#define HAS_LONG_DOUBLE /**/ +#ifdef HAS_LONG_DOUBLE +#define LONG_DOUBLESIZE 12 /**/ +#endif + +/* HAS_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 + * C preprocessor can make decisions based on it. It is only + * defined if the system supports long long. + */ +#define HAS_LONG_LONG /**/ +#ifdef HAS_LONG_LONG +#define LONGLONGSIZE 8 /**/ +#endif + +/* HAS_MKSTEMP: + * This symbol, if defined, indicates that the mkstemp routine is + * available to create and open a unique temporary file. + */ +#define HAS_MKSTEMP /**/ + /* HAS_SETGROUPS: * This symbol, if defined, indicates that the setgroups() routine is * available to set the list of process groups. If unavailable, multiple @@ -1668,6 +1662,42 @@ */ #define HAS_SETHOSTENT /**/ +/* HAS_SETNETENT: + * This symbol, if defined, indicates that the setnetent() routine is + * available. + */ +#define HAS_SETNETENT /**/ + +/* HAS_SETPROTOENT: + * This symbol, if defined, indicates that the setprotoent() routine is + * available. + */ +#define HAS_SETPROTOENT /**/ + +/* HAS_SETSERVENT: + * This symbol, if defined, indicates that the setservent() routine is + * available. + */ +#define HAS_SETSERVENT /**/ + +/* HAS_SETVBUF: + * This symbol, if defined, indicates that the setvbuf routine is + * available to change buffering on an open stdio stream. + * to a line-buffered mode. + */ +#define HAS_SETVBUF /**/ + +/* HAS_SOCKET: + * This symbol, if defined, indicates that the BSD socket interface is + * supported. + */ +/* HAS_SOCKETPAIR: + * This symbol, if defined, indicates that the BSD socketpair() call is + * supported. + */ +#define HAS_SOCKET /**/ +#define HAS_SOCKETPAIR /**/ + /* 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 @@ -1695,6 +1725,12 @@ */ #define I_NETDB /**/ +/* I_SYS_TYPES: + * This symbol, if defined, indicates to the C program that it should + * include <sys/types.h>. + */ +#define I_SYS_TYPES /**/ + /* PRIVLIB: * 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 @@ -1708,37 +1744,6 @@ #define PRIVLIB "/opt/perl/lib" /**/ #define PRIVLIB_EXP "/opt/perl/lib" /**/ -/* 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", "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 /**/ - /* 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 @@ -1818,6 +1823,38 @@ */ /*#define USE_PERLIO / **/ +/* HAS_GETHOST_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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_GETNET_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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_GETPROTO_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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_GETSERV_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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 /**/ + /* Netdb_host_t: * This symbol holds the type used for the 1st argument * to gethostbyaddr(). @@ -1847,6 +1884,37 @@ */ #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", "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 /**/ + /* ARCHNAME: * This symbol holds a string representing the architecture name. * It may be used to construct an architecture-dependant pathname @@ -1879,4 +1947,71 @@ #define USE_THREADS /**/ /*#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 <sys/types.h> 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 <sys/times.h>. + */ +#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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Fpos_t fpos_t /* File position type */ + +/* 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 <sys/types.h> to get + * any typedef'ed information. + */ +#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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Off_t off_t /* <offset> type */ + +/* 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 <sys/types.h> + * to get any typedef'ed information. + */ +#define Mode_t mode_t /* file mode parameter for system calls */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Pid_t pid_t /* PID type */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Size_t size_t /* length paramater for string functions */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Uid_t uid_t /* UID type */ + #endif diff --git a/Porting/pumpkin.pod b/Porting/pumpkin.pod index 28d428bea4..27cf1198ee 100644 --- a/Porting/pumpkin.pod +++ b/Porting/pumpkin.pod @@ -494,6 +494,20 @@ ought to go in the Changes file or whether they ought to be available separately in the patch file (or both). There is no disagreement that detailed descriptions ought to be easily available somewhere. +=head2 Todo + +The F<Todo> file contains a roughly-catgorized unordered list of +aspects of Perl that could use enhancement, features that could be +added, areas that could be cleaned up, and so on. During your term as +pumpkin-holder, you will probably address some of these issues, and +perhaps identify others which, while you decide not to address them +this time around, may be tackled in the future. Update the file +reflect the situation as it stands when you hand over the pumpkin. + +You might like, early in your pumpkin-holding career, to see if you +can find champions for partiticular issues on the to-do list: an issue +owned is an issue more likely to be resolved. + =head2 OS/2-specific updates In the os2 directory is F<diff.configure>, a set of OS/2-specific @@ -21,6 +21,7 @@ Would be nice to have reference to compiled regexp lexically scoped functions: my sub foo { ... } lvalue functions + Full 64 bit support Possible pragmas debugger @@ -53,12 +53,14 @@ av_extend(AV *av, I32 key) dSP; ENTER; SAVETMPS; + PUSHSTACK(SI_MAGIC); PUSHMARK(SP); EXTEND(SP,2); PUSHs(mg->mg_obj); PUSHs(sv_2mortal(newSViv(key+1))); PUTBACK; perl_call_method("EXTEND", G_SCALAR|G_DISCARD); + POPSTACK(); FREETMPS; LEAVE; return; @@ -157,8 +159,8 @@ av_fetch(register AV *av, I32 key, I32 lval) dTHR; sv = sv_newmortal(); mg_copy((SV*)av, sv, 0, key); - Sv = sv; - return &Sv; + av_fetch_sv = sv; + return &av_fetch_sv; } } @@ -388,6 +390,7 @@ av_push(register AV *av, SV *val) if (SvRMAGICAL(av) && (mg = mg_find((SV*)av,'P'))) { dSP; + PUSHSTACK(SI_MAGIC); PUSHMARK(SP); EXTEND(SP,2); PUSHs(mg->mg_obj); @@ -396,6 +399,7 @@ av_push(register AV *av, SV *val) ENTER; perl_call_method("PUSH", G_SCALAR|G_DISCARD); LEAVE; + POPSTACK(); return; } av_store(av,AvFILLp(av)+1,val); @@ -413,6 +417,7 @@ av_pop(register AV *av) croak(no_modify); if (SvRMAGICAL(av) && (mg = mg_find((SV*)av,'P'))) { dSP; + PUSHSTACK(SI_MAGIC); PUSHMARK(SP); XPUSHs(mg->mg_obj); PUTBACK; @@ -423,6 +428,7 @@ av_pop(register AV *av) retval = &sv_undef; } LEAVE; + POPSTACK(); return retval; } retval = AvARRAY(av)[AvFILLp(av)]; @@ -446,6 +452,7 @@ av_unshift(register AV *av, register I32 num) if (SvRMAGICAL(av) && (mg = mg_find((SV*)av,'P'))) { dSP; + PUSHSTACK(SI_MAGIC); PUSHMARK(SP); EXTEND(SP,1+num); PUSHs(mg->mg_obj); @@ -456,6 +463,7 @@ av_unshift(register AV *av, register I32 num) ENTER; perl_call_method("UNSHIFT", G_SCALAR|G_DISCARD); LEAVE; + POPSTACK(); return; } @@ -495,6 +503,7 @@ av_shift(register AV *av) croak(no_modify); if (SvRMAGICAL(av) && (mg = mg_find((SV*)av,'P'))) { dSP; + PUSHSTACK(SI_MAGIC); PUSHMARK(SP); XPUSHs(mg->mg_obj); PUTBACK; @@ -505,6 +514,7 @@ av_shift(register AV *av) retval = &sv_undef; } LEAVE; + POPSTACK(); return retval; } retval = *AvARRAY(av); @@ -536,12 +546,14 @@ av_fill(register AV *av, I32 fill) dSP; ENTER; SAVETMPS; + PUSHSTACK(SI_MAGIC); PUSHMARK(SP); EXTEND(SP,2); PUSHs(mg->mg_obj); PUSHs(sv_2mortal(newSViv(fill+1))); PUTBACK; perl_call_method("STORESIZE", G_SCALAR|G_DISCARD); + POPSTACK(); FREETMPS; LEAVE; return; diff --git a/config_h.SH b/config_h.SH index 138e08a642..1d3a13d209 100644 --- a/config_h.SH +++ b/config_h.SH @@ -655,17 +655,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #define Shmat_t $shmattype /**/ #$d_shmatprototype HAS_SHMAT_PROTOTYPE /**/ -/* HAS_SOCKET: - * This symbol, if defined, indicates that the BSD socket interface is - * supported. - */ -/* HAS_SOCKETPAIR: - * This symbol, if defined, indicates that the BSD socketpair() call is - * supported. - */ -#$d_socket HAS_SOCKET /**/ -#$d_sockpair HAS_SOCKETPAIR /**/ - /* USE_STAT_BLOCKS: * This symbol is defined if this system has a stat structure declaring * st_blksize and st_blocks. @@ -776,20 +765,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_tcsetpgrp HAS_TCSETPGRP /**/ -/* Time_t: - * This symbol holds the type returned by time(). It can be long, - * or time_t on BSD sites (in which case <sys/types.h> 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 <sys/times.h>. - */ -#$d_times HAS_TIMES /**/ - /* HAS_TRUNCATE: * This symbol, if defined, indicates that the truncate routine is * available to truncate files. @@ -845,22 +820,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_wctomb HAS_WCTOMB /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Fpos_t $fpostype /* File position type */ - -/* 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 <sys/types.h> to get - * any typedef'ed information. - */ -#define Gid_t $gidtype /* Type for getgid(), etc... */ - /* I_DBM: * This symbol, if defined, indicates that <dbm.h> exists and should * be included. @@ -1073,12 +1032,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$i_systimes I_SYS_TIMES /**/ -/* I_SYS_TYPES: - * This symbol, if defined, indicates to the C program that it should - * include <sys/types.h>. - */ -#$i_systypes I_SYS_TYPES /**/ - /* I_SYS_UN: * This symbol, if defined, indicates to the C program that it should * include <sys/un.h> to get UNIX domain socket definitions. @@ -1148,13 +1101,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$i_vfork I_VFORK /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Off_t $lseektype /* <offset> type */ - /* Free_t: * This variable contains the return type of free(). It is usually * void, but occasionally int. @@ -1170,21 +1116,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_mymalloc MYMALLOC /**/ -/* 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 <sys/types.h> - * to get any typedef'ed information. - */ -#define Mode_t $modetype /* file mode parameter for system calls */ - -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Pid_t $pidtype /* PID type */ - /* CAN_PROTOTYPE: * If defined, this macro indicates that the C compiler can handle * function prototypes. @@ -1212,27 +1143,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #define SH_PATH "$sh" /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Size_t $sizetype /* length paramater for string functions */ - /* STDCHAR: * This symbol is defined to be the type of char used in stdio.h. * It has the values "unsigned char" or "char". */ #define STDCHAR $stdchar /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Uid_t $uidtype /* UID type */ - /* VOIDFLAGS: * This symbol indicates how much support of the void type is given by this * compiler. What various bits mean: @@ -1612,10 +1528,36 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #endif /* CSH: - * This symbol, if defined, indicates that the C-shell exists. - * If defined, contains the full pathname of csh. + * This symbol, if defined, contains the full pathname of csh. + */ +#$d_csh HAS_CSH /**/ +#ifdef HAS_CSH +#define CSH "$full_csh" /**/ +#endif + +/* HAS_ENDHOSTENT: + * This symbol, if defined, indicates that the endhostent() routine is + * available to close whatever was being used for host queries. */ -#$d_csh CSH "$full_csh" /**/ +#$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_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_GETHOSTBYADDR: * This symbol, if defined, indicates that the gethostbyaddr() routine is @@ -1647,6 +1589,18 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_getnbyname HAS_GETNETBYNAME /**/ +/* HAS_GETNETENT: + * This symbol, if defined, indicates that the getnetent() routine is + * available to look up network names in some data base or another. + */ +#$d_getnent HAS_GETNETENT /**/ + +/* HAS_GETPROTOENT: + * This symbol, if defined, indicates that the getprotoent() routine is + * available to look up protocols in some data base or another. + */ +#$d_getpent HAS_GETPROTOENT /**/ + /* HAS_GETPROTOBYNAME: * This symbol, if defined, indicates that the getprotobyname() * routine is available to look up protocols by their name. @@ -1658,6 +1612,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #$d_getpbyname HAS_GETPROTOBYNAME /**/ #$d_getpbynumber HAS_GETPROTOBYNUMBER /**/ +/* HAS_GETSERVENT: + * This symbol, if defined, indicates that the getservent() routine is + * available to look up network services in some data base or another. + */ +#$d_getsent HAS_GETSERVENT /**/ + /* HAS_GETSERVBYNAME: * This symbol, if defined, indicates that the getservbyname() * routine is available to look up services by their name. @@ -1669,6 +1629,40 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #$d_getsbyname HAS_GETSERVBYNAME /**/ #$d_getsbyport HAS_GETSERVBYPORT /**/ +/* HAS_LONG_DOUBLE: + * This symbol will be defined if the C compiler supports long + * doubles. + */ +/* 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_longdbl HAS_LONG_DOUBLE /**/ +#ifdef HAS_LONG_DOUBLE +#define LONG_DOUBLESIZE $longdblsize /**/ +#endif + +/* HAS_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 + * 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_MKSTEMP: + * This symbol, if defined, indicates that the mkstemp routine is + * available to create and open a unique temporary file. + */ +#$d_mkstemp HAS_MKSTEMP /**/ + /* HAS_SETGROUPS: * This symbol, if defined, indicates that the setgroups() routine is * available to set the list of process groups. If unavailable, multiple @@ -1682,6 +1676,42 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$d_sethent HAS_SETHOSTENT /**/ +/* HAS_SETNETENT: + * This symbol, if defined, indicates that the setnetent() routine is + * available. + */ +#$d_setnent HAS_SETNETENT /**/ + +/* HAS_SETPROTOENT: + * This symbol, if defined, indicates that the setprotoent() routine is + * available. + */ +#$d_setpent HAS_SETPROTOENT /**/ + +/* HAS_SETSERVENT: + * This symbol, if defined, indicates that the setservent() routine is + * available. + */ +#$d_setsent HAS_SETSERVENT /**/ + +/* HAS_SETVBUF: + * This symbol, if defined, indicates that the setvbuf routine is + * available to change buffering on an open stdio stream. + * to a line-buffered mode. + */ +#$d_setvbuf HAS_SETVBUF /**/ + +/* HAS_SOCKET: + * This symbol, if defined, indicates that the BSD socket interface is + * supported. + */ +/* HAS_SOCKETPAIR: + * This symbol, if defined, indicates that the BSD socketpair() call is + * supported. + */ +#$d_socket HAS_SOCKET /**/ +#$d_sockpair HAS_SOCKETPAIR /**/ + /* 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 @@ -1709,6 +1739,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$i_netdb I_NETDB /**/ +/* I_SYS_TYPES: + * This symbol, if defined, indicates to the C program that it should + * include <sys/types.h>. + */ +#$i_systypes I_SYS_TYPES /**/ + /* PRIVLIB: * 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 @@ -1722,37 +1758,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #define PRIVLIB "$privlib" /**/ #define PRIVLIB_EXP "$privlibexp" /**/ -/* 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 /**/ - /* 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 @@ -1832,6 +1837,38 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$useperlio USE_PERLIO /**/ +/* HAS_GETHOST_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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. + */ +#$d_gethostprotos HAS_GETHOST_PROTOS /**/ + +/* HAS_GETNET_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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. + */ +#$d_getnetprotos HAS_GETNET_PROTOS /**/ + +/* HAS_GETPROTO_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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. + */ +#$d_getprotoprotos HAS_GETPROTO_PROTOS /**/ + +/* HAS_GETSERV_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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. + */ +#$d_getservprotos HAS_GETSERV_PROTOS /**/ + /* Netdb_host_t: * This symbol holds the type used for the 1st argument * to gethostbyaddr(). @@ -1861,6 +1898,37 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #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 /**/ + /* ARCHNAME: * This symbol holds a string representing the architecture name. * It may be used to construct an architecture-dependant pathname @@ -1893,5 +1961,72 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #$usethreads USE_THREADS /**/ #$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 <sys/types.h> 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 <sys/times.h>. + */ +#$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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Fpos_t $fpostype /* File position type */ + +/* 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 <sys/types.h> to get + * any typedef'ed information. + */ +#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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Off_t $lseektype /* <offset> type */ + +/* 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 <sys/types.h> + * to get any typedef'ed information. + */ +#define Mode_t $modetype /* file mode parameter for system calls */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Pid_t $pidtype /* PID type */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Size_t $sizetype /* length paramater for string functions */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Uid_t $uidtype /* UID type */ + #endif !GROK!THIS! @@ -285,3 +285,78 @@ struct context { #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 */ + +/* Support for switching (stack and block) contexts. + * This ensures magic doesn't invalidate local stack and cx pointers. + */ + +#define SI_UNDEF 0 +#define SI_MAIN 1 +#define SI_MAGIC 2 +#define SI_SORT 3 +#define SI_SIGNAL 4 +#define SI_OVERLOAD 5 +#define SI_DESTROY 6 +#define SI_WARNHOOK 7 +#define SI_DIEHOOK 8 + +struct stackinfo { + AV * si_stack; /* stack for current runlevel */ + PERL_CONTEXT * si_cxstack; /* context stack for runlevel */ + I32 si_cxix; /* current context index */ + I32 si_cxmax; /* maximum allocated index */ + I32 si_type; /* type of runlevel */ + struct stackinfo * si_prev; + struct stackinfo * si_next; + I32 * si_markbase; /* where markstack begins for us. + * currently used only with DEBUGGING, + * but not #ifdef-ed for bincompat */ +}; + +typedef struct stackinfo PERL_SI; + +#define cxstack (curstackinfo->si_cxstack) +#define cxstack_ix (curstackinfo->si_cxix) +#define cxstack_max (curstackinfo->si_cxmax) + +#ifdef DEBUGGING +# define SET_MARKBASE curstackinfo->si_markbase = markstack_ptr +#else +# define SET_MARKBASE NOOP +#endif + +#define PUSHSTACK(type) \ + STMT_START { \ + PERL_SI *next = curstackinfo->si_next; \ + if (!next) { \ + next = new_stackinfo(32, 2048/sizeof(PERL_CONTEXT) - 1); \ + next->si_prev = curstackinfo; \ + curstackinfo->si_next = next; \ + } \ + next->si_type = type; \ + next->si_cxix = -1; \ + AvFILLp(next->si_stack) = 0; \ + SWITCHSTACK(curstack,next->si_stack); \ + curstackinfo = next; \ + SET_MARKBASE; \ + } STMT_END + +#define POPSTACK() \ + STMT_START { \ + PERL_SI *prev = curstackinfo->si_prev; \ + if (!prev) { \ + PerlIO_printf(PerlIO_stderr(), "panic: POPSTACK\n"); \ + my_exit(1); \ + } \ + SWITCHSTACK(curstack,prev->si_stack); \ + /* don't free prev here, free them all at the END{} */ \ + curstackinfo = prev; \ + } STMT_END + +#define POPSTACK_TO(s) \ + STMT_START { \ + while (curstack != s) { \ + dounwind(-1); \ + POPSTACK(); \ + } \ + } STMT_END diff --git a/cygwin32/perlgcc b/cygwin32/perlgcc index 97d7d1a8a5..202ed29a4f 100644 --- a/cygwin32/perlgcc +++ b/cygwin32/perlgcc @@ -30,21 +30,21 @@ $libflagString = join(" ",@libFlags); # make exports file my $command = "echo EXPORTS > perl.def"; print "$command\n"; -system($command); +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); +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); +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); +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`; @@ -53,25 +53,32 @@ 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); +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); +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); +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); +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); +system($command) == 0 or die "system() failed.\n"; print "perlgcc: Completed\n"; diff --git a/cygwin32/perlld b/cygwin32/perlld index 1622f2ffaf..97edfd64dd 100644 --- a/cygwin32/perlld +++ b/cygwin32/perlld @@ -47,54 +47,54 @@ if( $args=~/\-o (.+?)\.dll/i){ writeInit(); $command = "gcc -c $fixup.c\n"; print $command; - system($command); + system($command) == 0 or die "system() failed.\n"; $command = "gcc -c $init.cc\n"; print $command; - system($command); + system($command) == 0 or die "system() failed.\n"; $command = "echo EXPORTS > $libname.def\n"; print $command; - system($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); + 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); + 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); + 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); + 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); + 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); + 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); + 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); + system($command) == 0 or die "system() failed.\n"; $command = "mv $libname.a $path".$libname.".a\n"; print $command; - system($command); + system($command) == 0 or die "system() failed.\n"; } @@ -102,7 +102,7 @@ if( $args=~/\-o (.+?)\.dll/i){ else{ # no special processing, just call ld $command = "ld $args\n"; print $command; - system($command); + system($command) == 0 or die "system() failed.\n"; } #--------------------------------------------------------------------------- @@ -115,7 +115,7 @@ debstack(void) dTHR; I32 top = stack_sp - stack_base; register I32 i = top - 30; - I32 *markscan = markstack; + I32 *markscan = curstackinfo->si_markbase; if (i < 0) i = 0; @@ -367,6 +367,7 @@ #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 @@ -405,6 +406,7 @@ #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 diff --git a/embedvar.h b/embedvar.h index 4e3f81630e..0ba157975e 100644 --- a/embedvar.h +++ b/embedvar.h @@ -22,21 +22,22 @@ #define Sv (curinterp->TSv) #define Xpv (curinterp->TXpv) +#define av_fetch_sv (curinterp->Tav_fetch_sv) #define bodytarget (curinterp->Tbodytarget) #define chopset (curinterp->Tchopset) #define curcop (curinterp->Tcurcop) #define curpad (curinterp->Tcurpad) #define curpm (curinterp->Tcurpm) #define curstack (curinterp->Tcurstack) +#define curstackinfo (curinterp->Tcurstackinfo) #define curstash (curinterp->Tcurstash) -#define cxstack (curinterp->Tcxstack) -#define cxstack_ix (curinterp->Tcxstack_ix) -#define cxstack_max (curinterp->Tcxstack_max) #define defoutgv (curinterp->Tdefoutgv) #define defstash (curinterp->Tdefstash) #define delaymagic (curinterp->Tdelaymagic) #define dirty (curinterp->Tdirty) #define formtarget (curinterp->Tformtarget) +#define hv_fetch_ent_mh (curinterp->Thv_fetch_ent_mh) +#define hv_fetch_sv (curinterp->Thv_fetch_sv) #define in_eval (curinterp->Tin_eval) #define last_in_gv (curinterp->Tlast_in_gv) #define localizing (curinterp->Tlocalizing) @@ -215,10 +216,8 @@ #define screamnext (curinterp->Iscreamnext) #define secondgv (curinterp->Isecondgv) #define siggv (curinterp->Isiggv) -#define signalstack (curinterp->Isignalstack) #define sortcop (curinterp->Isortcop) #define sortcxix (curinterp->Isortcxix) -#define sortstack (curinterp->Isortstack) #define sortstash (curinterp->Isortstash) #define splitstr (curinterp->Isplitstr) #define statcache (curinterp->Istatcache) @@ -379,10 +378,8 @@ #define Isecondgv secondgv #define Iseen_zerolen seen_zerolen #define Isiggv siggv -#define Isignalstack signalstack #define Isortcop sortcop #define Isortcxix sortcxix -#define Isortstack sortstack #define Isortstash sortstash #define Isplitstr splitstr #define Istatcache statcache @@ -408,21 +405,22 @@ #define TSv Sv #define TXpv Xpv +#define Tav_fetch_sv av_fetch_sv #define Tbodytarget bodytarget #define Tchopset chopset #define Tcurcop curcop #define Tcurpad curpad #define Tcurpm curpm #define Tcurstack curstack +#define Tcurstackinfo curstackinfo #define Tcurstash curstash -#define Tcxstack cxstack -#define Tcxstack_ix cxstack_ix -#define Tcxstack_max cxstack_max #define Tdefoutgv defoutgv #define Tdefstash defstash #define Tdelaymagic delaymagic #define Tdirty dirty #define Tformtarget formtarget +#define Thv_fetch_ent_mh hv_fetch_ent_mh +#define Thv_fetch_sv hv_fetch_sv #define Tin_eval in_eval #define Tlast_in_gv last_in_gv #define Tlocalizing localizing @@ -603,10 +601,8 @@ #define secondgv Perl_secondgv #define seen_zerolen Perl_seen_zerolen #define siggv Perl_siggv -#define signalstack Perl_signalstack #define sortcop Perl_sortcop #define sortcxix Perl_sortcxix -#define sortstack Perl_sortstack #define sortstash Perl_sortstash #define splitstr Perl_splitstr #define statcache Perl_statcache @@ -632,21 +628,22 @@ #define Sv Perl_Sv #define Xpv Perl_Xpv +#define av_fetch_sv Perl_av_fetch_sv #define bodytarget Perl_bodytarget #define chopset Perl_chopset #define curcop Perl_curcop #define curpad Perl_curpad #define curpm Perl_curpm #define curstack Perl_curstack +#define curstackinfo Perl_curstackinfo #define curstash Perl_curstash -#define cxstack Perl_cxstack -#define cxstack_ix Perl_cxstack_ix -#define cxstack_max Perl_cxstack_max #define defoutgv Perl_defoutgv #define defstash Perl_defstash #define delaymagic Perl_delaymagic #define dirty Perl_dirty #define formtarget Perl_formtarget +#define hv_fetch_ent_mh Perl_hv_fetch_ent_mh +#define hv_fetch_sv Perl_hv_fetch_sv #define in_eval Perl_in_eval #define last_in_gv Perl_last_in_gv #define localizing Perl_localizing @@ -694,21 +691,22 @@ #define Sv (thr->TSv) #define Xpv (thr->TXpv) +#define av_fetch_sv (thr->Tav_fetch_sv) #define bodytarget (thr->Tbodytarget) #define chopset (thr->Tchopset) #define curcop (thr->Tcurcop) #define curpad (thr->Tcurpad) #define curpm (thr->Tcurpm) #define curstack (thr->Tcurstack) +#define curstackinfo (thr->Tcurstackinfo) #define curstash (thr->Tcurstash) -#define cxstack (thr->Tcxstack) -#define cxstack_ix (thr->Tcxstack_ix) -#define cxstack_max (thr->Tcxstack_max) #define defoutgv (thr->Tdefoutgv) #define defstash (thr->Tdefstash) #define delaymagic (thr->Tdelaymagic) #define dirty (thr->Tdirty) #define formtarget (thr->Tformtarget) +#define hv_fetch_ent_mh (thr->Thv_fetch_ent_mh) +#define hv_fetch_sv (thr->Thv_fetch_sv) #define in_eval (thr->Tin_eval) #define last_in_gv (thr->Tlast_in_gv) #define localizing (thr->Tlocalizing) diff --git a/ext/ODBM_File/ODBM_File.xs b/ext/ODBM_File/ODBM_File.xs index b57e560bd3..53d1930c54 100644 --- a/ext/ODBM_File/ODBM_File.xs +++ b/ext/ODBM_File/ODBM_File.xs @@ -3,7 +3,7 @@ #include "XSUB.h" #ifdef NULL -#undef NULL +#undef NULL /* XXX Why? */ #endif #ifdef I_DBM # include <dbm.h> @@ -46,6 +46,10 @@ 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 diff --git a/ext/POSIX/POSIX.pm b/ext/POSIX/POSIX.pm index 2885c0d84c..33dc73d8f2 100644 --- a/ext/POSIX/POSIX.pm +++ b/ext/POSIX/POSIX.pm @@ -179,6 +179,7 @@ Exporter::export_tags(); alarm chdir chown close fork getlogin getppid getpgrp link pipe read rmdir sleep unlink write utime + nice ); # Grandfather old foo_h form to new :foo_h form diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs index 8807d68189..922438dca5 100644 --- a/ext/POSIX/POSIX.xs +++ b/ext/POSIX/POSIX.xs @@ -268,7 +268,13 @@ init_tm(ptm) /* see mktime, strftime and asctime */ #endif -#ifndef HAS_LONG_DOUBLE /* XXX What to do about long doubles? */ +#ifdef HAS_LONG_DOUBLE +# if LONG_DOUBLESIZE > DOUBLESIZE +# undef HAS_LONG_DOUBLE /* XXX until we figure out how to use them */ +# endif +#endif + +#ifndef HAS_LONG_DOUBLE #ifdef LDBL_MAX #undef LDBL_MAX #endif @@ -287,7 +293,12 @@ not_here(char *s) return -1; } -static double +static +#ifdef HAS_LONG_DOUBLE +long double +#else +double +#endif constant(char *name, int arg) { errno = 0; @@ -2549,6 +2560,7 @@ new(packname = "POSIX::Termios", ...) RETVAL = (struct termios*)safemalloc(sizeof(struct termios)); #else not_here("termios"); + RETVAL = 0; #endif } OUTPUT: @@ -2598,7 +2610,8 @@ getiflag(termios_ref) #ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */ RETVAL = termios_ref->c_iflag; #else - not_here("getiflag"); + not_here("getiflag"); + RETVAL = 0; #endif OUTPUT: RETVAL @@ -2610,7 +2623,8 @@ getoflag(termios_ref) #ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */ RETVAL = termios_ref->c_oflag; #else - not_here("getoflag"); + not_here("getoflag"); + RETVAL = 0; #endif OUTPUT: RETVAL @@ -2622,7 +2636,8 @@ getcflag(termios_ref) #ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */ RETVAL = termios_ref->c_cflag; #else - not_here("getcflag"); + not_here("getcflag"); + RETVAL = 0; #endif OUTPUT: RETVAL @@ -2634,7 +2649,8 @@ getlflag(termios_ref) #ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */ RETVAL = termios_ref->c_lflag; #else - not_here("getlflag"); + not_here("getlflag"); + RETVAL = 0; #endif OUTPUT: RETVAL @@ -2649,7 +2665,8 @@ getcc(termios_ref, ccix) croak("Bad getcc subscript"); RETVAL = termios_ref->c_cc[ccix]; #else - not_here("getcc"); + not_here("getcc"); + RETVAL = 0; #endif OUTPUT: RETVAL diff --git a/ext/SDBM_File/Makefile.PL b/ext/SDBM_File/Makefile.PL index c0daa064c7..b639b2948f 100644 --- a/ext/SDBM_File/Makefile.PL +++ b/ext/SDBM_File/Makefile.PL @@ -6,13 +6,8 @@ use ExtUtils::MakeMaker; # which perform the corresponding actions in the subdirectory. $define = ($^O eq 'MSWin32') ? '-DMSDOS' : ''; -if ($^O eq 'MSWin32') { - $myextlib = 'sdbm\\libsdbm$(LIB_EXT)'; -} elsif ($^O eq 'VMS') { - $myextlib = 'sdbm/libsdbm$(LIB_EXT)'; -} else { - $myextlib = 'sdbm/libsdbm$(LIB_EXT)'; -} +if ($^O eq 'MSWin32') { $myextlib = 'sdbm\\libsdbm$(LIB_EXT)'; } +else { $myextlib = 'sdbm/libsdbm$(LIB_EXT)'; } WriteMakefile( NAME => 'SDBM_File', @@ -21,8 +16,6 @@ WriteMakefile( XSPROTOARG => '-noprototypes', # XXX remove later? VERSION_FROM => 'SDBM_File.pm', DEFINE => $define, -# NORECURS => $^O eq 'VMS', -# SKIP => $^O eq 'VMS' ? 'subdirs' : '', # Don't do the subdirs section for VMS ); sub MY::postamble { @@ -33,7 +26,7 @@ $(MYEXTLIB): sdbm/Makefile '; } else { ' -$(MYEXTLIB): [.sdbm]descrip.mms +$(MYEXTLIB) : [.sdbm]descrip.mms set def [.sdbm] $(MMS) all set def [-] diff --git a/ext/SDBM_File/sdbm/Makefile.PL b/ext/SDBM_File/sdbm/Makefile.PL index e9d4dcd0fa..24074afb85 100644 --- a/ext/SDBM_File/sdbm/Makefile.PL +++ b/ext/SDBM_File/sdbm/Makefile.PL @@ -1,15 +1,21 @@ use ExtUtils::MakeMaker; $define = '-DSDBM -DDUFF'; -$define .= ' -DWIN32' if ($^O eq 'MSWin32'); +$define .= ' -DWIN32 -DPERL_STATIC_SYMS' if ($^O eq 'MSWin32'); + +if ($^O eq 'VMS') { # Old VAXC compiler can't handle Duff's device + require Config; + $define =~ s/\s+-DDUFF// if $Config::Config{'vms_cc_type'} eq 'vaxc'; +} WriteMakefile( NAME => 'sdbm', # (doesn't matter what the name is here) oh yes it does # LINKTYPE => 'static', DEFINE => $define, INC => '-I$(PERL_INC)', # force PERL_INC dir ahead of system -I's - SKIP => [qw(dynamic dynamic_lib)], - OBJECT => ($^O eq 'VMS') ? 'sdbm.obj pair.obj hash.obj' : '$(O_FILES)', + INST_ARCHLIB => '.', + SKIP => [qw(dynamic dynamic_lib dlsyms)], + OBJECT => '$(O_FILES)', clean => {'FILES' => 'dbu libsdbm.a dbd dba dbe x-dbu *.dir *.pag'}, H => [qw(tune.h sdbm.h pair.h $(PERL_INC)/config.h)], C => [qw(sdbm.c pair.c hash.c)] @@ -24,8 +30,10 @@ INST_STATIC = libsdbm$(LIB_EXT) sub MY::top_targets { ' all :: static + $(NOECHO) $(NOOP) config :: + $(NOECHO) $(NOOP) lint: lint -abchx $(LIBSRCS) diff --git a/ext/SDBM_File/sdbm/dba.c b/ext/SDBM_File/sdbm/dba.c index 4f227e5245..05e70c8961 100644 --- a/ext/SDBM_File/sdbm/dba.c +++ b/ext/SDBM_File/sdbm/dba.c @@ -4,6 +4,7 @@ #include <stdio.h> #include <sys/file.h> +#include "EXTERN.h" #include "sdbm.h" char *progname; diff --git a/ext/SDBM_File/sdbm/dbd.c b/ext/SDBM_File/sdbm/dbd.c index 697a547597..04ab842e2d 100644 --- a/ext/SDBM_File/sdbm/dbd.c +++ b/ext/SDBM_File/sdbm/dbd.c @@ -4,6 +4,7 @@ #include <stdio.h> #include <sys/file.h> +#include "EXTERN.h" #include "sdbm.h" char *progname; diff --git a/ext/SDBM_File/sdbm/dbu.c b/ext/SDBM_File/sdbm/dbu.c index 106262872e..a3c0004da9 100644 --- a/ext/SDBM_File/sdbm/dbu.c +++ b/ext/SDBM_File/sdbm/dbu.c @@ -1,6 +1,7 @@ #include <stdio.h> #include <sys/file.h> #ifdef SDBM +#include "EXTERN.h" #include "sdbm.h" #else #include <ndbm.h> diff --git a/ext/SDBM_File/sdbm/hash.c b/ext/SDBM_File/sdbm/hash.c index 514bb5ed1a..9b27648599 100644 --- a/ext/SDBM_File/sdbm/hash.c +++ b/ext/SDBM_File/sdbm/hash.c @@ -8,6 +8,7 @@ */ #include "config.h" +#include "EXTERN.h" #include "sdbm.h" /* * polynomial conversion ignoring overflows diff --git a/ext/SDBM_File/sdbm/pair.c b/ext/SDBM_File/sdbm/pair.c index e1a6ee6f43..6b41f88471 100644 --- a/ext/SDBM_File/sdbm/pair.c +++ b/ext/SDBM_File/sdbm/pair.c @@ -12,6 +12,7 @@ static char rcsid[] = "$Id: pair.c,v 1.10 90/12/13 13:00:35 oz Exp $"; #endif #include "config.h" +#include "EXTERN.h" #include "sdbm.h" #include "tune.h" #include "pair.h" diff --git a/ext/SDBM_File/sdbm/sdbm.c b/ext/SDBM_File/sdbm/sdbm.c index 7fbba0f00a..7bf9d3a97b 100644 --- a/ext/SDBM_File/sdbm/sdbm.c +++ b/ext/SDBM_File/sdbm/sdbm.c @@ -11,6 +11,7 @@ static char rcsid[] = "$Id: sdbm.c,v 1.16 90/12/13 13:01:31 oz Exp $"; #endif +#include "INTERN.h" #include "config.h" #include "sdbm.h" #include "tune.h" @@ -39,7 +40,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); +extern Off_t lseek(int, Off_t, int); #endif /* @@ -72,8 +73,6 @@ static long masks[] = { 001777777777, 003777777777, 007777777777, 017777777777 }; -datum nullitem = {NULL, 0}; - DBM * sdbm_open(register char *file, register int flags, register int mode) { diff --git a/ext/SDBM_File/sdbm/sdbm.h b/ext/SDBM_File/sdbm/sdbm.h index b3ed2d4b8b..0747b74dfa 100644 --- a/ext/SDBM_File/sdbm/sdbm.h +++ b/ext/SDBM_File/sdbm/sdbm.h @@ -51,7 +51,11 @@ typedef struct { int dsize; } datum; -extern datum nullitem; +EXTCONST datum nullitem +#ifdef DOINIT + = {0, 0} +#endif + ; #if defined(__STDC__) || defined(__cplusplus) || defined(CAN_PROTOTYPE) #define proto(p) p @@ -120,12 +124,13 @@ extern long sdbm_hash proto((char *, int)); #include <ctype.h> #include <setjmp.h> -#if defined(I_UNISTD) || defined(VMS) +#if defined(I_UNISTD) #include <unistd.h> #endif #ifdef VMS -# include <fcntl.h> +# include <file.h> +# include <unixio.h> #endif #if !defined(MSDOS) && !defined(WIN32) && !defined(VMS) diff --git a/ext/Socket/Socket.xs b/ext/Socket/Socket.xs index 3664368cab..823e704ed8 100644 --- a/ext/Socket/Socket.xs +++ b/ext/Socket/Socket.xs @@ -323,8 +323,14 @@ constant(char *name, int arg) case 'L': break; case 'M': + if (strEQ(name, "MSG_CTRUNC")) +#if defined(MSG_CTRUNC) || defined(HAS_GNULIBC) /* XXX it's an enum */ + return MSG_CTRUNC; +#else + goto not_there; +#endif if (strEQ(name, "MSG_DONTROUTE")) -#ifdef MSG_DONTROUTE +#if defined(MSG_DONTROUTE) || defined(HAS_GNULIBC) /* XXX it's an enum */ return MSG_DONTROUTE; #else goto not_there; @@ -336,17 +342,23 @@ constant(char *name, int arg) goto not_there; #endif if (strEQ(name, "MSG_OOB")) -#ifdef MSG_OOB +#if defined(MSG_OOB) || defined(HAS_GNULIBC) /* XXX it's an enum */ return MSG_OOB; #else goto not_there; #endif if (strEQ(name, "MSG_PEEK")) -#ifdef MSG_PEEK +#if defined(MSG_PEEK) || defined(HAS_GNULIBC) /* XXX it's an enum */ return MSG_PEEK; #else goto not_there; #endif + if (strEQ(name, "MSG_PROXY")) +#if defined(MSG_PROXY) || defined(HAS_GNULIBC) /* XXX it's an enum */ + return MSG_PROXY; +#else + goto not_there; +#endif break; case 'N': break; diff --git a/ext/Thread/Thread.xs b/ext/Thread/Thread.xs index aea72f4a46..28583a19bd 100644 --- a/ext/Thread/Thread.xs +++ b/ext/Thread/Thread.xs @@ -126,7 +126,7 @@ threadstart(void *arg) av_store(av, 0, &sv_no); av_store(av, 1, newSVsv(thr->errsv)); DEBUG_L(PerlIO_printf(PerlIO_stderr(), "%p died: %s\n", - SvPV(thr->errsv, na))); + thr, SvPV(thr->errsv, na))); } else { DEBUG_L(STMT_START { for (i = 1; i <= retval; i++) { @@ -280,8 +280,15 @@ static Signal_t handle_thread_signal _((int sig)); static Signal_t handle_thread_signal(int sig) { - char c = (char) sig; - write(sig_pipe[0], &c, 1); + unsigned char c = (unsigned char) sig; + /* + * We're not really allowed to call fprintf in a signal handler + * so don't be surprised if this isn't robust while debugging + * with -DL. + */ + DEBUG_L(PerlIO_printf(PerlIO_stderr(), + "handle_thread_signal: got signal %d\n", sig);); + write(sig_pipe[1], &c, 1); } MODULE = Thread PACKAGE = Thread @@ -555,7 +562,7 @@ MODULE = Thread PACKAGE = Thread::Signal void kill_sighandler_thread() PPCODE: - write(sig_pipe[0], "\0", 1); + write(sig_pipe[1], "\0", 1); PUSHs(&sv_yes); void @@ -566,22 +573,22 @@ init_thread_signals() XSRETURN_UNDEF; PUSHs(&sv_yes); -SV * +void await_signal() PREINIT: - char c; + unsigned char c; SSize_t ret; CODE: do { - ret = read(sig_pipe[1], &c, 1); + ret = read(sig_pipe[0], &c, 1); } while (ret == -1 && errno == EINTR); if (ret == -1) croak("panic: await_signal"); - if (ret == 0) - XSRETURN_UNDEF; - RETVAL = c ? psig_ptr[c] : &sv_no; - OUTPUT: - RETVAL + ST(0) = sv_newmortal(); + if (ret) + sv_setsv(ST(0), c ? psig_ptr[c] : &sv_no); + DEBUG_L(PerlIO_printf(PerlIO_stderr(), + "await_signal returning %s\n", SvPEEK(ST(0)));); MODULE = Thread PACKAGE = Thread::Specific diff --git a/ext/Thread/Thread/Signal.pm b/ext/Thread/Thread/Signal.pm new file mode 100644 index 0000000000..f5f03db8a8 --- /dev/null +++ b/ext/Thread/Thread/Signal.pm @@ -0,0 +1,50 @@ +package Thread::Signal; +use Thread qw(async); + +=head1 NAME + +Thread::Signal - Start a thread which runs signal handlers reliably + +=head1 SYNOPSIS + + use Thread::Signal; + + $SIG{HUP} = \&some_handler; + +=head1 DESCRIPTION + +The C<Thread::Signal> module starts up a special signal handler thread. +All signals to the process are delivered to it and it runs the +associated C<$SIG{FOO}> handlers for them. Without this module, +signals arriving at inopportune moments (such as when perl's internals +are in the middle of updating critical structures) cause the perl +code of the handler to be run unsafely which can cause memory corruption +or worse. + +=head1 BUGS + +This module changes the semantics of signal handling slightly in that +the signal handler is run separately from the main thread (and in +parallel with it). This means that tricks such as calling C<die> from +a signal handler behave differently (and, in particular, can't be +used to exit directly from a system call). + +=cut + +if (!init_thread_signals()) { + require Carp; + Carp::croak("init_thread_signals failed: $!"); +} + +async { + my $sig; + while ($sig = await_signal()) { + &$sig(); + } +}; + +END { + kill_sighandler_thread(); +} + +1; diff --git a/ext/Thread/io.t b/ext/Thread/io.t index 8ade26504d..6012008ef5 100644 --- a/ext/Thread/io.t +++ b/ext/Thread/io.t @@ -1,5 +1,13 @@ use Thread; +sub counter { +$count = 10; +while ($count--) { + sleep 1; + print "ping $count\n"; +} +} + sub reader { my $line; while ($line = <STDIN>) { @@ -17,7 +25,13 @@ finished counting down and the I/O thread has seen end-of-file on the terminal/stdin. EOT -$r = new Thread \&reader; +$r = new Thread \&counter; + +&reader; + +__END__ + + $count = 10; while ($count--) { sleep 1; diff --git a/global.sym b/global.sym index 21ab314c78..28080ce035 100644 --- a/global.sym +++ b/global.sym @@ -53,6 +53,7 @@ ncmp_amg ne_amg neg_amg new_struct_thread +new_stackinfo no_aelem no_dir_func no_func @@ -459,6 +460,7 @@ newAV newAVREF newBINOP newCONDOP +newCONSTSUB newCVREF newFORM newFOROP @@ -639,11 +639,6 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type) psig_ptr[i] = 0; psig_name[i] = 0; } - /* initialize signal stack */ - signalstack = newAV(); - AvREAL_off(signalstack); - av_extend(signalstack, 30); - av_fill(signalstack, 0); } break; @@ -1094,9 +1089,6 @@ Gv_AMupdate(HV *stash) return FALSE; } -/* During call to this subroutine stack can be reallocated. It is - * advised to call SPAGAIN macro in your code after call */ - SV* amagic_call(SV *left, SV *right, int method, int flags) { @@ -1315,6 +1307,7 @@ amagic_call(SV *left, SV *right, int method, int flags) myop.op_next = Nullop; myop.op_flags = OPf_WANT_SCALAR | OPf_STACKED; + PUSHSTACK(SI_OVERLOAD); ENTER; SAVEOP(); op = (OP *) &myop; @@ -1339,7 +1332,7 @@ amagic_call(SV *left, SV *right, int method, int flags) SPAGAIN; res=POPs; - PUTBACK; + POPSTACK(); CATCH_SET(oldcatch); if (postpr) { @@ -82,30 +82,27 @@ expecting an int), but the disadvantage that an I32 is not 32 bits. Andy Dougherty August 1996 - In the future, we may perhaps want to think about something like - #if INTSIZE == 4 - typedef I32 int; - #else - # if LONGSIZE == 4 - typedef I32 long; - # else - # if SHORTSIZE == 4 - typedef I32 short; - # else - typedef I32 int; - # endif - # endif - #endif - - except that still won't work if a system has no integral type - with a size that is 32 bytes. - - Further, we need to know about PTRSIZE == sizeof(void *) and - DOUBLESIZE == sizeof(double) if we really want to try to handle - 32/64-bit combinations. - - For the moment, these are only mentioned here so metaconfig will - construct Configure to figure out the various sizes. + There is no guarantee that there is *any* integral type with + exactly 32 bits. It is perfectly legal for a system to have + sizeof(short) == sizeof(int) == sizeof(long) == 8. + + Similarly, there is no guarantee that I16 and U16 have exactly 16 + bits. + + 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) + LONGLONGSIZE == sizeof(long long) (if HAS_LONG_LONG) + 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; diff --git a/hints/aix.sh b/hints/aix.sh index bc26590291..a29466e4f8 100644 --- a/hints/aix.sh +++ b/hints/aix.sh @@ -71,7 +71,7 @@ lddlflags='-H512 -T512 -bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT). ;; esac -if [ "X$usethreads" != "X" ]; then +if [ "X$usethreads" = "X$define" ]; then ccflags="-DNEED_PTHREAD_INIT $ccflags" case "$cc" in xlc_r | cc_r) diff --git a/hints/dec_osf.sh b/hints/dec_osf.sh index ae49f503a0..5055302353 100644 --- a/hints/dec_osf.sh +++ b/hints/dec_osf.sh @@ -180,7 +180,7 @@ case "$optimize" in ;; esac -if [ "X$usethreads" != "X" ]; then +if [ "X$usethreads" = "X$define" ]; then # Threads interfaces changed with V4.0. case "$_DEC_uname_r" in *[123].*) libswanted="$libswanted pthreads mach exc c_r" diff --git a/hints/dos_djgpp.sh b/hints/dos_djgpp.sh index f50cd01884..ae6a7cab4c 100644 --- a/hints/dos_djgpp.sh +++ b/hints/dos_djgpp.sh @@ -28,7 +28,6 @@ ln='cp' # no REAL ln on dos lns='cp' usenm='true' -d_bincompat3='undef' d_link='undef' # these are empty functions in libc.a d_symlink='undef' @@ -52,9 +51,12 @@ archlib=$privlib sitelib=$privlib/site sitearch=$sitelib +eagain='EAGAIN' +rd_nodata='-1' + : set up the translation script tr -cat >../UU/tr <<EOSC +cat > UU/tr <<EOSC $startsh case "\$1\$2" in '[A-Z][a-z]') exec tr.exe '[:upper:]' '[:lower:]';; @@ -63,9 +65,7 @@ esac exec tr.exe "\$@" EOSC -if [ "X$usethreads" != "X" ]; then - ccflags="-DUSE_THREADS $ccflags" - cppflags="-DUSE_THREADS $cppflags" +if [ "X$usethreads" = "X$define" ]; then set `echo X "$libswanted "| sed -e 's/ c / gthreads c /'` shift libswanted="$*" diff --git a/hints/freebsd.sh b/hints/freebsd.sh index 5e89d56039..f1bbd60457 100644 --- a/hints/freebsd.sh +++ b/hints/freebsd.sh @@ -17,7 +17,12 @@ # Additional 2.2 defines from # Mark Murray <mark@grondar.za> # Date: Wed, 6 Nov 1996 09:44:58 +0200 (MET) -# +# +# Modified to ensure we replace -lc with -lc_r, and +# to put in place-holders for various specific hints. +# Andy Dougherty <doughera@lafcol.lafayette.edu> +# Date: Tue Mar 10 16:07:00 EST 1998 +# # The two flags "-fpic -DPIC" are used to indicate a # will-be-shared object. Configure will guess the -fpic, (and the # -DPIC is not used by perl proper) but the full define is included to @@ -104,9 +109,14 @@ problem. Try EOM -if [ "X$usethreads" != "X" ]; then +# XXX EXPERIMENTAL A.D. 03/09/1998 +# XXX This script UU/usethreads.cbu will get 'called-back' by Configure +# XXX after it has prompted the user for whether to use threads. +cat > UU/usethreads.cbu <<'EOSH' +case "$usethreads" in +$define) if [ ! -r /usr/lib/libc_r.a ]; then - cat <<'EOM' + cat <<'EOM' >&4 The re-entrant C library /usr/lib/libc_r.a does not exist; cannot build threaded Perl. Consider upgrading to a newer FreeBSD snapshot or release: @@ -115,5 +125,23 @@ at least the FreeBSD 3.0-971225-SNAP is known to have the libc_r.a. EOM exit 1 fi - libswanted="$libswanted c_r" -fi + # Patches to libc_r may be required. + # Print out a note about them here. + + # These checks by Andy Dougherty <doughera@lafcol.lafayette.edu> + # Please update or change them as you learn more! + # -lc_r must REPLACE -lc. AD 03/10/1998 + set `echo X "$libswanted "| sed -e 's/ c / c_r /'` + shift + libswanted="$*" + # Configure will probably pick the wrong libc to use for nm scan. + # The safest quick-fix is just to not use nm at all. + usenm=false + # Is vfork buggy in 3.0? + case "$osvers" in + 3.0) usevfork=false ;; + esac + ;; +esac +EOSH +# XXX EXPERIMENTAL --end of call-back diff --git a/hints/hpux.sh b/hints/hpux.sh index cbf80cc669..9b272aef76 100644 --- a/hints/hpux.sh +++ b/hints/hpux.sh @@ -169,6 +169,11 @@ case "$prefix" in '') prefix='/opt/perl5' ;; esac +# HP-UX can't do setuid emulation offered by Configure +case "$d_dosuid" in +'') d_dosuid="$undef" ;; +esac + # Date: Fri, 6 Sep 96 23:15:31 CDT # From: "Daniel S. Lewart" <d-lewart@uiuc.edu> # I looked through the gcc.info and found this: diff --git a/hints/irix_6.sh b/hints/irix_6.sh index 3d8202a8ae..9b54d2b842 100644 --- a/hints/irix_6.sh +++ b/hints/irix_6.sh @@ -23,6 +23,8 @@ # Threaded by Jarkko Hietaniemi <jhi@iki.fi> on 11/18/97 # - POSIX threads knowledge by IRIX version +# gcc-enabled by Kurt Starsinic <kstar@isinet.com> on 3/24/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. @@ -76,6 +78,11 @@ case "$cc" in 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. @@ -117,7 +124,7 @@ libswanted="$*" # makes IRIX 6.2 cc to emit bad code. pp_ctl_cflags='optimize=-O' -if [ "X$usethreads" != "X" ]; then +if [ "X$usethreads" = "X$define" ]; then if test ! -f /usr/include/pthread.h -o ! -f /usr/lib/libpthread.so; then uname_r=`uname -r` case "`uname -r`" in diff --git a/hints/irix_6_0.sh b/hints/irix_6_0.sh index e76890d120..b0a39943bd 100644 --- a/hints/irix_6_0.sh +++ b/hints/irix_6_0.sh @@ -42,7 +42,7 @@ libswanted="$*" # shift # libswanted="$*" -if [ "X$usethreads" != "X" ]; then +if [ "X$usethreads" = "X$define" ]; then echo >&4 "IRIX 6.0 does not have POSIX threads." echo >&4 "You should upgrade to at least IRIX 6.3." echo >&4 "Cannot continue, aborting." diff --git a/hints/irix_6_1.sh b/hints/irix_6_1.sh index 91c3ef8cf8..1c54f774a9 100644 --- a/hints/irix_6_1.sh +++ b/hints/irix_6_1.sh @@ -42,7 +42,7 @@ libswanted="$*" # shift # libswanted="$*" -if [ "X$usethreads" != "X" ]; then +if [ "X$usethreads" = "X$define" ]; then echo >&4 "IRIX 6.1 does not have POSIX threads." echo >&4 "You should upgrade to at least IRIX 6.3." echo >&4 "Cannot continue, aborting." diff --git a/hints/linux.sh b/hints/linux.sh index 7347945c48..545f50eb3d 100644 --- a/hints/linux.sh +++ b/hints/linux.sh @@ -170,8 +170,8 @@ fi if [ ! "`csh -c 'echo $version' 2>/dev/null`" ] then echo 'Real csh found (might break); looking for tcsh ...' - # Use ../UU/loc to find tcsh. (We run in the hints/ directory.) - if xxx=`../UU/loc tcsh blurfl $pth`; $test -f "$xxx"; then + # Use ./UU/loc to find tcsh. (We no longer run in the hints/ directory) + if xxx=`./UU/loc tcsh blurfl $pth`; $test -f "$xxx"; then echo "Found tcsh. I'll use it for globbing." # We can't change Configure's setting of $csh, due to the way # Configure handles $d_portable and commands found in $loclist. diff --git a/hints/os2.sh b/hints/os2.sh index 7cda0bf89b..2293adf446 100644 --- a/hints/os2.sh +++ b/hints/os2.sh @@ -33,25 +33,25 @@ cc='gcc' set $C_INCLUDE_PATH usrinc="$@" IFS="$oifs" - tryman="`../UU/loc . /man $tryman`" + tryman="`./UU/loc . /man $tryman`" tryman="`echo $tryman | tr '\\\' '/'`" # indented to avoid having it *two* times at start - libemx="`../UU/loc os2.a /emx/lib $libemx`" + libemx="`./UU/loc os2.a /emx/lib $libemx`" -usrinc="`../UU/loc stdlib.h /emx/include $usrinc`" +usrinc="`./UU/loc stdlib.h /emx/include $usrinc`" usrinc="`dirname $usrinc | tr '\\\' '/'`" libemx="`dirname $libemx | tr '\\\' '/'`" if test -d $tryman/man1; then sysman="$tryman/man1" else - sysman="`../UU/loc . /man/man1 c:/man/man1 c:/usr/man/man1 d:/man/man1 d:/usr/man/man1 e:/man/man1 e:/usr/man/man1 f:/man/man1 f:/usr/man/man1 g:/man/man1 g:/usr/man/man1 /usr/man/man1`" + sysman="`./UU/loc . /man/man1 c:/man/man1 c:/usr/man/man1 d:/man/man1 d:/usr/man/man1 e:/man/man1 e:/usr/man/man1 f:/man/man1 f:/usr/man/man1 g:/man/man1 g:/usr/man/man1 /usr/man/man1`" fi emxpath="`dirname $libemx`" if test ! -d "$emxpath"; then - emxpath="`../UU/loc . /emx c:/emx d:/emx e:/emx f:/emx g:/emx h:/emx /emx`" + emxpath="`./UU/loc . /emx c:/emx d:/emx e:/emx f:/emx g:/emx h:/emx /emx`" fi if test ! -d "$libemx"; then @@ -61,7 +61,7 @@ if test ! -d "$libemx"; then if test -d "$LIBRARY_PATH"; then libemx="$LIBRARY_PATH" else - libemx="`../UU/loc . X c:/emx/lib d:/emx/lib e:/emx/lib f:/emx/lib g:/emx/lib h:/emx/lib /emx/lib`" + libemx="`./UU/loc . X c:/emx/lib d:/emx/lib e:/emx/lib f:/emx/lib g:/emx/lib h:/emx/lib /emx/lib`" fi fi @@ -72,12 +72,12 @@ if test ! -d "$usrinc"; then if test -d "$C_INCLUDE_PATH"; then usrinc="$C_INCLUDE_PATH" else - usrinc="`../UU/loc . X c:/emx/include d:/emx/include e:/emx/include f:/emx/include g:/emx/include h:/emx/include /emx/include`" + usrinc="`./UU/loc . X c:/emx/include d:/emx/include e:/emx/include f:/emx/include g:/emx/include h:/emx/include /emx/include`" fi fi fi -rsx="`../UU/loc rsx.exe undef $pth`" +rsx="`./UU/loc rsx.exe undef $pth`" if test "$libemx" = "X"; then echo "Cannot find C library!" >&2; fi @@ -164,6 +164,9 @@ else usedl='define' fi +# indented to miss config.sh + _ar="$ar" + # To get into config.sh (should start at the beginning of line) # or you can put it into config.over. plibext="$plibext" @@ -245,7 +248,7 @@ case "X$optimize" in ;; esac -if [ "X$usethreads" != "X" ]; then +if [ "X$usethreads" = "X$define" ]; then ccflags="-Zmt $ccflags" cppflags="-Zmt $cppflags" # Do we really need to set this? aout_ccflags="-DUSE_THREADS $aout_ccflags" @@ -263,11 +266,11 @@ fi # Copy pod: -cp ../README.os2 ../pod/perlos2.pod +cp ./README.os2 ./pod/perlos2.pod # Now install the external modules. We are in the ./hints directory. -cd ../os2/OS2 +cd ./os2/OS2 if ! test -d ../../ext/OS2 ; then mkdir ../../ext/OS2 @@ -295,4 +298,4 @@ done # Now go back -cd ../../hints +cd ../.. diff --git a/hints/qnx.sh b/hints/qnx.sh index 7b7c9e616b..b53a33d737 100644 --- a/hints/qnx.sh +++ b/hints/qnx.sh @@ -143,7 +143,7 @@ if [ -z "`which nm 2>/dev/null`" ]; then Creating a quick-and-dirty nm cover for Configure to use: EOF - cat >../UU/nm <<-'EOF' + cat >./UU/nm <<-'EOF' #! /bin/sh #__USAGE #%C <lib> [<lib> ...] @@ -159,7 +159,7 @@ if [ -z "`which nm 2>/dev/null`" ]; then } }' EOF - chmod +x ../UU/nm + chmod +x ./UU/nm fi cppstdin=`which cpp 2>/dev/null` diff --git a/hints/solaris_2.sh b/hints/solaris_2.sh index 7f7a85680c..047e4cf3b7 100644 --- a/hints/solaris_2.sh +++ b/hints/solaris_2.sh @@ -230,7 +230,7 @@ rm -f core # XXX EOSH -if [ "X$usethreads" != "X" ]; then +if [ "X$usethreads" = "X$define" ]; then ccflags="-D_REENTRANT $ccflags" # -lpthread needs to come before -lc but after other libraries such # as -lgdbm and such like. We assume here that -lc is present in diff --git a/hints/unicos.sh b/hints/unicos.sh index 1d828550cc..7579eed65a 100644 --- a/hints/unicos.sh +++ b/hints/unicos.sh @@ -5,6 +5,6 @@ optimize="-O1" d_setregid='undef' d_setreuid='undef' case "$usemymalloc" in -'') usemymalloc='n' ;; +'') usemymalloc='y' ;; esac @@ -96,8 +96,8 @@ hv_fetch(HV *hv, char *key, U32 klen, I32 lval) dTHR; sv = sv_newmortal(); mg_copy((SV*)hv, sv, key, klen); - Sv = sv; - return &Sv; + hv_fetch_sv = sv; + return &hv_fetch_sv; } #ifdef ENV_IS_CASELESS else if (mg_find((SV*)hv,'E')) { @@ -172,17 +172,18 @@ hv_fetch_ent(HV *hv, SV *keysv, I32 lval, register U32 hash) if (SvRMAGICAL(hv)) { if (mg_find((SV*)hv,'P')) { + dTHR; sv = sv_newmortal(); keysv = sv_2mortal(newSVsv(keysv)); mg_copy((SV*)hv, sv, (char*)keysv, HEf_SVKEY); - if (!HeKEY_hek(&mh)) { + if (!HeKEY_hek(&hv_fetch_ent_mh)) { char *k; New(54, k, HEK_BASESIZE + sizeof(SV*), char); - HeKEY_hek(&mh) = (HEK*)k; + HeKEY_hek(&hv_fetch_ent_mh) = (HEK*)k; } - HeSVKEY_set(&mh, keysv); - HeVAL(&mh) = sv; - return &mh; + HeSVKEY_set(&hv_fetch_ent_mh, keysv); + HeVAL(&hv_fetch_ent_mh) = sv; + return &hv_fetch_ent_mh; } #ifdef ENV_IS_CASELESS else if (mg_find((SV*)hv,'E')) { @@ -837,11 +838,14 @@ newHV(void) void hv_free_ent(HV *hv, register HE *entry) { + SV *val; + if (!entry) return; - if (isGV(HeVAL(entry)) && GvCVu(HeVAL(entry)) && HvNAME(hv)) + val = HeVAL(entry); + if (val && isGV(val) && GvCVu(val) && HvNAME(hv)) sub_generation++; /* may be deletion of method from stash */ - SvREFCNT_dec(HeVAL(entry)); + SvREFCNT_dec(val); if (HeKLEN(entry) == HEf_SVKEY) { SvREFCNT_dec(HeKEY_sv(entry)); Safefree(HeKEY_hek(entry)); diff --git a/installman b/installman index 4d74bcfea2..e6377204b1 100755 --- a/installman +++ b/installman @@ -3,8 +3,11 @@ BEGIN { @INC = ('lib') } use Config; use Getopt::Long; use File::Find; +use File::Copy; use File::Path qw(mkpath); +use ExtUtils::Packlist; use subs qw(unlink chmod rename link); +use vars qw($packlist); require Cwd; umask 022; @@ -50,6 +53,8 @@ $notify = $opt_notify || $opt_n; -x "t/perl$Config{exe_ext}" || warn "WARNING: You've never run 'make test'!!!", " (Installing anyway.)\n"; +$packlist = ExtUtils::Packlist->new("$Config{installarchlib}/.packlist"); + # Install the main pod pages. runpod2man('pod', $man1dir, $man1ext); @@ -156,6 +161,7 @@ sub lsmodpods { } } +$packlist->write() unless $notify; print STDERR " Installation complete\n"; exit 0; @@ -194,12 +200,27 @@ print STDERR " unlink $name\n"; } sub link { - local($from,$to) = @_; + my($from,$to) = @_; + my($success) = 0; print STDERR " ln $from $to\n"; - eval { CORE::link($from,$to) } -|| system('cp', $from, $to) == 0 -|| warn "Couldn't link $from to $to: $!\n" unless $notify; + 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" + 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; } sub rename { @@ -214,6 +235,7 @@ warn("Cannot rename to `$to.$i': $!"), return 0 } link($from,$to) || return 0; unlink($from); + $packlist->{$to} = { type => 'file' }; } sub chmod { diff --git a/installperl b/installperl index 222f3d4761..07be34188f 100755 --- a/installperl +++ b/installperl @@ -5,14 +5,18 @@ BEGIN { chdir '..' if !-d 'lib' and -d '..\lib'; @INC = 'lib'; $ENV{PERL5LIB} = 'lib'; + $Is_VMS = $^O eq 'VMS'; + if ($Is_VMS) { eval 'use VMS::Filespec;' } } use File::Find; use File::Compare; use File::Copy (); use File::Path (); +use ExtUtils::Packlist; use Config; use subs qw(unlink link chmod); +use vars qw($packlist); # override the ones in the rest of the script sub mkpath { @@ -28,13 +32,15 @@ while (@ARGV) { shift; } -umask 022; +umask 022 unless $Is_VMS; @scripts = qw( utils/c2ph utils/h2ph utils/h2xs utils/perlbug utils/perldoc utils/pl2pm utils/splain x2p/s2p x2p/find2perl pod/pod2man pod/pod2html pod/pod2latex pod/pod2text); +if ($Is_VMS) { @scripts = map { "$_.Com" } @scripts; } + @pods = (<pod/*.pod>); %archpms = (Config => 1, FileHandle => 1, overload => 1); @@ -75,6 +81,14 @@ $dlext = $Config{dlext}; $d_dosuid = $Config{d_dosuid}; $binexp = $Config{binexp}; +if ($Is_VMS) { # Hang in there until File::Spec hits the big time + foreach ( \$installbin, \$installscript, \$installprivlib, + \$installarchlib, \$installsitelib, \$installsitearch, + \$installman1dir ) { + $$_ = unixify($$_); $$_ =~ s:/$::; + } +} + # Do some quick sanity checks. if ($d_dosuid && $>) { die "You must run as root to install suidperl\n"; } @@ -106,9 +120,20 @@ copy("$perldll", "$installbin/$perldll"); chmod(0755, "$installbin/$perldll"); } +# This will be used to store the packlist +$packlist = ExtUtils::Packlist->new("$installarchlib/.packlist"); + # First we install the version-numbered executables. -if ($^O ne 'dos') { +if ($Is_VMS) { + safe_unlink("$installbin/perl$exe_ext"); + copy("perl$exe_ext", "$installbin/perl$exe_ext"); + chmod(0755, "$installbin/perl$exe_ext"); + safe_unlink("$installbin/perlshr$exe_ext"); + copy("perlshr$exe_ext", "$installbin/perlshr$exe_ext"); + chmod(0755, "$installbin/perlshr$exe_ext"); +} +elsif ($^O ne 'dos') { safe_unlink("$installbin/perl$ver$exe_ext"); copy("perl$exe_ext", "$installbin/perl$ver$exe_ext"); chmod(0755, "$installbin/perl$ver$exe_ext"); @@ -148,11 +173,18 @@ else { # Install header files and libraries. mkpath("$installarchlib/CORE", 1, 0777); -@corefiles = <*.h libperl*.*>; -# AIX needs perl.exp installed as well. -push(@corefiles,'perl.exp') if $^O eq 'aix'; -# If they have built sperl.o... -push(@corefiles,'sperl.o') if -f 'sperl.o'; +if ($Is_VMS) { # We did core file selection during build + my $coredir = "lib/$Config{'arch'}/$]"; + $coredir =~ tr/./_/; + @corefiles = <$coredir/*.*>; +} +else { + @corefiles = <*.h libperl*.*>; + # AIX needs perl.exp installed as well. + push(@corefiles,'perl.exp') if $^O eq 'aix'; + # If they have built sperl.o... + push(@corefiles,'sperl.o') if -f 'sperl.o'; +} foreach $file (@corefiles) { # HP-UX (at least) needs to maintain execute permissions # on dynamically-loadable libraries. So we do it for all. @@ -164,7 +196,7 @@ foreach $file (@corefiles) { # Install main perl executables # Make links to ordinary names if installbin directory isn't current directory. -if (! $versiononly && ! samepath($installbin, '.') && ($^O ne 'dos')) { +if (! $versiononly && ! samepath($installbin, '.') && ($^O ne 'dos') && ! $Is_VMS) { safe_unlink("$installbin/perl$exe_ext", "$installbin/suidperl$exe_ext"); link("$installbin/perl$ver$exe_ext", "$installbin/perl$exe_ext"); link("$installbin/sperl$ver$exe_ext", "$installbin/suidperl$exe_ext") @@ -175,7 +207,7 @@ if (! $versiononly && ! samepath($installbin, '.') && ($^O ne 'dos')) { $mainperl_is_instperl = 0; -if (!$versiononly && !$nonono && $^O ne 'MSWin32' && -t STDIN && -t STDERR +if (!$versiononly && !$nonono && $^O ne 'MSWin32' && !$Is_VMS && -t STDIN && -t STDERR && -w $mainperldir && ! samepath($mainperldir, $installbin)) { local($usrbinperl) = "$mainperldir/perl$exe_ext"; local($instperl) = "$installbin/perl$exe_ext"; @@ -239,9 +271,10 @@ if (! $versiononly) { # pstruct should be a link to c2ph if (! $versiononly) { - safe_unlink("$installscript/pstruct"); - if ($^O eq 'dos') { - copy("$installscript/c2ph","$installscript/pstruct"); + safe_unlink("$installscript/pstruct" . ($Is_VMS ? '.Com' : '')); + if ($^O eq 'dos' or $Is_VMS) { + copy("$installscript/c2ph" . ($Is_VMS ? '.Com' : ''), + "$installscript/pstruct" . ($Is_VMS ? '.Com' : '')); } else { link("$installscript/c2ph","$installscript/pstruct"); } @@ -275,6 +308,7 @@ if (! $versiononly || !($installprivlib =~ m/\Q$]/)) { # Link perldiag.pod into archlib my ($from, $to) = ("${installprivlib}/pod/perldiag.pod", "${installarchlib}/pod/perldiag.pod"); + $packlist->{$to} = { from => $from, type => 'link' }; if (compare($from, $to) || $nonono) { mkpath("${installarchlib}/pod", 1, 0777); unlink($to); @@ -293,6 +327,13 @@ if (!$versiononly) { $dirsep = ($^O eq 'os2' || $^O eq 'MSWin32') ? ';' : ':' ; ($path = $ENV{"PATH"}) =~ s:\\:/:g ; @path = split(/$dirsep/, $path); + if ($Is_VMS) { + my $i = 0; + while (exists $ENV{'DCL$PATH' . $i}) { + $dir = unixpath($ENV{'DCL$PATH' . $i}); $dir =~ s-/$--; + push(@path,$dir); + } + } @otherperls = (); for (@path) { next unless m,^/,; @@ -314,6 +355,7 @@ if (!$versiononly) { } +$packlist->write() unless $nono; print STDERR " Installation complete\n"; exit 0; @@ -334,6 +376,8 @@ sub unlink { local(@names) = @_; my($cnt) = 0; + return scalar(@names) if $Is_VMS; + foreach $name (@names) { next unless -e $name; chmod 0777, $name if ($^O eq 'os2' || $^O eq 'MSWin32'); @@ -345,7 +389,7 @@ sub unlink { } sub safe_unlink { - return if $nonono; + return if $nonono or $Is_VMS; local @names = @_; foreach $name (@names) { next unless -e $name; @@ -387,12 +431,15 @@ sub link { ? die "AFS" # okay inside eval {} : warn "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; File::Copy::copy($from, $to) ? $success++ : warn "Couldn't copy $from to $to: $!\n" unless $nonono; + $packlist->{$to} = { type => 'file' }; } $success; } @@ -411,9 +458,11 @@ 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; File::Copy::copy($from, $to) || warn "Couldn't copy $from to $to: $!\n" unless $nonono; + $packlist->{$to} = { type => 'file' }; } sub samepath { @@ -469,6 +518,7 @@ sub installlib { #This might not work because $archname might have changed. unlink("$installarchlib/$name"); } + $packlist->{"$installlib/$name"} = { type => 'file' }; if (compare($_, "$installlib/$name") || $nonono) { unlink("$installlib/$name"); mkpath("$installlib/$dir", 1, 0777); @@ -496,6 +546,7 @@ sub installlib { sub copy_if_diff { my($from,$to)=@_; -f $from || die "$0: $from not found"; + $packlist->{$to} = { type => 'file' }; if (compare($from, $to) || $nonono) { safe_unlink($to); # In case we don't have write permissions. if ($nonono) { diff --git a/interp.sym b/interp.sym index efa8e83c06..b715d1c37c 100644 --- a/interp.sym +++ b/interp.sym @@ -26,9 +26,6 @@ curpm curstack curstash curstname -cxstack -cxstack_ix -cxstack_max dbargs debdelim debname @@ -157,10 +154,8 @@ screamnext secondgv seen_zerolen siggv -signalstack sortcop sortcxix -sortstack sortstash splitstr start_env diff --git a/intrpvar.h b/intrpvar.h index f9eaf50ad8..ad9bb81bf3 100644 --- a/intrpvar.h +++ b/intrpvar.h @@ -138,8 +138,6 @@ PERLVAR(Isortcop, OP *) /* user defined sort routine */ PERLVAR(Isortstash, HV *) /* which is in some package or other */ PERLVAR(Ifirstgv, GV *) /* $a */ PERLVAR(Isecondgv, GV *) /* $b */ -PERLVAR(Isortstack, AV *) /* temp stack during pp_sort() */ -PERLVAR(Isignalstack, AV *) /* temp stack during sighandler() */ PERLVAR(Imystrk, SV *) /* temp key string for do_each() */ PERLVAR(Idumplvl, I32) /* indentation level on syntax tree dump */ PERLVAR(Ioldlastpm, PMOP *) /* for saving regexp context during debugger */ diff --git a/lib/Env.pm b/lib/Env.pm index f2fe4af422..b0afc3b2db 100644 --- a/lib/Env.pm +++ b/lib/Env.pm @@ -45,14 +45,14 @@ Chip Salzenberg E<lt>F<chip@fin.uucp>E<gt> sub import { my ($callpack) = caller(0); my $pack = shift; - my @vars = @_ ? @_ : keys(%ENV); + my @vars = grep /^[A-Za-z_]\w*$/, (@_ ? @_ : keys(%ENV)); return unless @vars; eval "package $callpack; use vars qw(" . join(' ', map { '$'.$_ } @vars) . ")"; die $@ if $@; foreach (@vars) { - tie ${"${callpack}::$_"}, Env, $_ if /^[A-Za-z_]\w*$/; + tie ${"${callpack}::$_"}, Env, $_; } } diff --git a/lib/ExtUtils/Install.pm b/lib/ExtUtils/Install.pm index a3d2481224..992d178659 100644 --- a/lib/ExtUtils/Install.pm +++ b/lib/ExtUtils/Install.pm @@ -30,6 +30,7 @@ sub install { use Cwd qw(cwd); use ExtUtils::MakeMaker; # to implement a MY class + use ExtUtils::Packlist; use File::Basename qw(dirname); use File::Copy qw(copy); use File::Find qw(find); @@ -37,10 +38,11 @@ sub install { use File::Compare qw(compare); my(%hash) = %$hash; - my(%pack, %write, $dir, $warn_permissions); + my(%pack, $dir, $warn_permissions); + my($packlist) = ExtUtils::Packlist->new(); # -w doesn't work reliably on FAT dirs $warn_permissions++ if $^O eq 'MSWin32'; - local(*DIR, *P); + local(*DIR); for (qw/read write/) { $pack{$_}=$hash{$_}; delete $hash{$_}; @@ -63,15 +65,7 @@ sub install { } closedir DIR; } - if (-f $pack{"read"}) { - open P, $pack{"read"} or Carp::croak("Couldn't read $pack{'read'}"); - # Remember what you found - while (<P>) { - chomp; - $write{$_}++; - } - close P; - } + $packlist->read($pack{"read"}) if (-f $pack{"read"}); my $cwd = cwd(); my $umask = umask 0 unless $Is_VMS; @@ -134,7 +128,7 @@ sub install { } else { inc_uninstall($_,$File::Find::dir,$verbose,0); # nonono set to 0 } - $write{$targetfile}++; + $packlist->{$targetfile}++; }, "."); chdir($cwd) or Carp::croak("Couldn't chdir to $cwd: $!"); @@ -144,11 +138,7 @@ sub install { $dir = dirname($pack{'write'}); mkpath($dir,0,0755); print "Writing $pack{'write'}\n"; - open P, ">$pack{'write'}" or Carp::croak("Couldn't write $pack{'write'}: $!"); - for (sort keys %write) { - print P "$_\n"; - } - close P; + $packlist->write($pack{'write'}); } } @@ -190,14 +180,13 @@ sub install_default { } sub uninstall { + use ExtUtils::Packlist; my($fil,$verbose,$nonono) = @_; die "no packlist file found: $fil" unless -f $fil; # my $my_req = $self->catfile(qw(auto ExtUtils Install forceunlink.al)); # require $my_req; # Hairy, but for the first - local *P; - open P, $fil or Carp::croak("uninstall: Could not read packlist " . - "file $fil: $!"); - while (<P>) { + my ($packlist) = ExtUtils::Packlist->new($fil); + foreach (sort(keys(%$packlist))) { chomp; print "unlink $_\n" if $verbose; forceunlink($_) unless $nonono; diff --git a/lib/ExtUtils/Installed.pm b/lib/ExtUtils/Installed.pm new file mode 100644 index 0000000000..c6dde68b90 --- /dev/null +++ b/lib/ExtUtils/Installed.pm @@ -0,0 +1,268 @@ +package ExtUtils::Installed; +use strict; +use Carp qw(); +use ExtUtils::Packlist; +use ExtUtils::MakeMaker; +use Config; +use File::Find; +use File::Basename; +use vars qw($VERSION); +$VERSION = '0.01'; + +sub _is_type($$$) +{ +my ($self, $path, $type) = @_; +return(1) if ($type eq "all"); +if ($type eq "doc") + { + return(substr($path, 0, length($Config{installman1dir})) + eq $Config{installman1dir} + || + substr($path, 0, length($Config{installman3dir})) + eq $Config{installman3dir} + ? 1 : 0) + } +if ($type eq "prog") + { + return(substr($path, 0, length($Config{prefix})) eq $Config{prefix} + && + substr($path, 0, length($Config{installman1dir})) + ne $Config{installman1dir} + && + substr($path, 0, length($Config{installman3dir})) + ne $Config{installman3dir} + ? 1 : 0); + } +return(0); +} + +sub _is_under($$;) +{ +my ($self, $path, @under) = @_; +$under[0] = "" if (! @under); +foreach my $dir (@under) + { + return(1) if (substr($path, 0, length($dir)) eq $dir); + } +return(0); +} + +sub new($) +{ +my ($class) = @_; +$class = ref($class) || $class; +my $self = {}; + +# Read the core packlist +$self->{Perl}{packlist} = + ExtUtils::Packlist->new("$Config{installarchlib}/.packlist"); +$self->{Perl}{version} = $]; + +# Read the module packlists +my $sub = sub + { + # Only process module .packlists + return if ($_) ne ".packlist" || $File::Find::dir eq $Config{installarchlib}; + + # Hack of the leading bits of the paths & convert to a module name + my $module = $File::Find::name; + $module =~ s!$Config{archlib}/auto/(.*)/.packlist!$1!; + $module =~ s!$Config{sitearch}/auto/(.*)/.packlist!$1!; + my $modfile = "$module.pm"; + $module =~ s!/!::!g; + + # Find the top-level module file in @INC + $self->{$module}{version} = ''; + foreach my $dir (@INC) + { + my $p = MM->catfile($dir, $modfile); + if (-f $p) + { + $self->{$module}{version} = MM->parse_version($p); + last; + } + } + + # Read the .packlist + $self->{$module}{packlist} = ExtUtils::Packlist->new($File::Find::name); + }; +find($sub, $Config{archlib}, $Config{sitearch}); + +return(bless($self, $class)); +} + +sub modules($) +{ +my ($self) = @_; +return(sort(keys(%$self))); +} + +sub files($$;$) +{ +my ($self, $module, $type, @under) = @_; + +# Validate arguments +Carp::croak("$module is not installed") if (! exists($self->{$module})); +$type = "all" if (! defined($type)); +Carp::croak('type must be "all", "prog" or "doc"') + if ($type ne "all" && $type ne "prog" && $type ne "doc"); + +my (@files); +foreach my $file (keys(%{$self->{$module}{packlist}})) + { + push(@files, $file) + if ($self->_is_type($file, $type) && $self->_is_under($file, @under)); + } +return(@files); +} + +sub directories($$;$) +{ +my ($self, $module, $type, @under) = @_; +my (%dirs); +foreach my $file ($self->files($module, $type, @under)) + { + $dirs{dirname($file)}++; + } +return(sort(keys(%dirs))); +} + +sub directory_tree($$;$) +{ +my ($self, $module, $type, @under) = @_; +my (%dirs); +foreach my $dir ($self->directories($module, $type, @under)) + { + $dirs{$dir}++; + my ($last); + while ($last ne $dir) + { + $last = $dir; + $dir = dirname($dir); + last if (! $self->_is_under($dir, @under)); + $dirs{$dir}++; + } + } +return(sort(keys(%dirs))); +} + +sub validate($;$) +{ +my ($self, $module, $remove) = @_; +Carp::croak("$module is not installed") if (! exists($self->{$module})); +return($self->{$module}{packlist}->validate($remove)); +} + +sub packlist($$) +{ +my ($self, $module) = @_; +Carp::croak("$module is not installed") if (! exists($self->{$module})); +return($self->{$module}{packlist}); +} + +sub version($$) +{ +my ($self, $module) = @_; +Carp::croak("$module is not installed") if (! exists($self->{$module})); +return($self->{$module}{version}); +} + +sub DESTROY +{ +} + +1; + +__END__ + +=head1 NAME + +ExtUtils::Installed - Inventory management of installed modules + +=head1 SYNOPSIS + + use ExtUtils::Installed; + my ($inst) = ExtUtils::Installed->new(); + my (@modules) = $inst->modules(); + my (@missing) = $inst->validate("DBI"); + my $all_files = $inst->files("DBI"); + my $files_below_usr_local = $inst->files("DBI", "all", "/usr/local"); + my $all_dirs = $inst->directories("DBI"); + my $dirs_below_usr_local = $inst->directory_tree("DBI", "prog"); + my $packlist = $inst->packlist("DBI"); + +=head1 DESCRIPTION + +ExtUtils::Installed provides a standard way to find out what core and module +files have been installed. It uses the information stored in .packlist files +created during installation to provide this information. In addition it +provides facilities to classify the installed files and to extract directory +information from the .packlist files. + +=head1 USAGE + +The new() function searches for all the installed .packlists on the system, and +stores their contents. The .packlists can be queried with the functions +described below. + +=head1 FUNCTIONS + +=over + +=item new() + +This takes no parameters, and searches for all the installed .packlists on the +system. The packlists are read using the ExtUtils::packlist module. + +=item modules() + +This returns a list of the names of all the installed modules. The perl 'core' +is given the special name 'Perl'. + +=item files() + +This takes one mandatory parameter, the name of a module. It returns a list of +all the filenames from the package. To obtain a list of core perl files, use +the module name 'Perl'. Additional parameters are allowed. The first is one +of the strings "prog", "man" or "all", to select either just program files, +just manual files or all files. The remaining parameters are a list of +directories. The filenames returned will be restricted to those under the +specified directories. + +=item directories() + +This takes one mandatory parameter, the name of a module. It returns a list of +all the directories from the package. Additional parameters are allowed. The +first is one of the strings "prog", "man" or "all", to select either just +program directories, just manual directories or all directories. The remaining +parameters are a list of directories. The directories returned will be +restricted to those under the specified directories. This method returns only +the leaf directories that contain files from the specified module. + +=item directory_tree() + +This is identical in operation to directory(), except that it includes all the +intermediate directories back up to the specified directories. + +=item validate() + +This takes one mandatory parameter, the name of a module. It checks that all +the files listed in the modules .packlist actually exist, and returns a list of +any missing files. If an optional second argument which evaluates to true is +given any missing files will be removed from the .packlist + +=item packlist() + +This returns the ExtUtils::Packlist object for the specified module. + +=item version() + +This returns the version number for the specified module. + +=back + +=head1 AUTHOR + +Alan Burlison <Alan.Burlison@uk.sun.com> + +=cut diff --git a/lib/ExtUtils/Liblist.pm b/lib/ExtUtils/Liblist.pm index aebb057d58..5c35dc7307 100644 --- a/lib/ExtUtils/Liblist.pm +++ b/lib/ExtUtils/Liblist.pm @@ -261,9 +261,38 @@ sub _win32_ext { sub _vms_ext { my($self, $potential_libs,$verbose) = @_; - return ('', '', '', '') unless $potential_libs; + my(@crtls,$crtlstr); + my($dbgqual) = $self->{OPTIMIZE} || $Config{'optimize'} || + $self->{CCFLAS} || $Config{'ccflags'}; + @crtls = ( ($dbgqual =~ m-/Debug-i ? $Config{'dbgprefix'} : '') + . 'PerlShr/Share' ); + push(@crtls, grep { not /\(/ } split /\s+/, $Config{'libs'}); + push(@crtls, grep { not /\(/ } split /\s+/, $Config{'libc'}); + # In general, we pass through the basic libraries from %Config unchanged. + # The one exception is that if we're building in the Perl source tree, and + # a library spec could be resolved via a logical name, we go to some trouble + # to insure that the copy in the local tree is used, rather than one to + # which a system-wide logical may point. + if ($self->{PERL_SRC}) { + my($lib,$locspec,$type); + foreach $lib (@crtls) { + if (($locspec,$type) = $lib =~ m-^([\w$\-]+)(/\w+)?- and $locspec =~ /perl/i) { + if (lc $type eq '/share') { $locspec .= $Config{'exe_ext'}; } + elsif (lc $type eq '/library') { $locspec .= $Config{'lib_ext'}; } + else { $locspec .= $Config{'obj_ext'}; } + $locspec = $self->catfile($self->{PERL_SRC},$locspec); + $lib = "$locspec$type" if -e $locspec; + } + } + } + $crtlstr = @crtls ? join(' ',@crtls) : ''; - my(@dirs,@libs,$dir,$lib,%sh,%olb,%obj); + unless ($potential_libs) { + warn "Result:\n\tEXTRALIBS: \n\tLDLOADLIBS: $crtlstr\n" if $verbose; + return ('', '', $crtlstr, ''); + } + + my(@dirs,@libs,$dir,$lib,%sh,%olb,%obj,$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 @@ -388,8 +417,10 @@ sub _vms_ext { push(@libs, map { "$_/Library" } sort keys %olb); push(@libs, map { "$_/Share" } sort keys %sh); $lib = join(' ',@libs); - warn "Result: $lib\n" if $verbose; - wantarray ? ($lib, '', $lib, '') : $lib; + + $ldlib = $crtlstr ? "$lib $crtlstr" : $lib; + warn "Result:\n\tEXTRALIBS: $lib\n\tLDLOADLIBS: $ldlib\n" if $verbose; + wantarray ? ($lib, '', $ldlib, '') : $lib; } 1; @@ -499,8 +530,10 @@ these directives, rather than elements used on the linker command line. =item * -LDLOADLIBS and EXTRALIBS are always identical under VMS, and BSLOADLIBS -and LD_RIN_PATH are always empty. +LDLOADLIBS contains both the libraries found based on C<$potential_libs> and +the CRTLs, if any, specified in Config.pm. EXTRALIBS contains just those +libraries found based on C<$potential_libs>. BSLOADLIBS and LD_RUN_PATH +are always empty. =back diff --git a/lib/ExtUtils/MM_Unix.pm b/lib/ExtUtils/MM_Unix.pm index 5faa435e3a..92a46426da 100644 --- a/lib/ExtUtils/MM_Unix.pm +++ b/lib/ExtUtils/MM_Unix.pm @@ -98,17 +98,13 @@ trailing slash :-) # '; sub catdir { - shift; + my $self = shift @_; my @args = @_; for (@args) { # append a slash to each argument unless it has one there $_ .= "/" if $_ eq '' or substr($_,-1) ne "/"; } - my $result = join('', @args); - # remove a trailing slash unless we are root - substr($result,-1) = "" - if length($result) > 1 && substr($result,-1) eq "/"; - $result; + $self->canonpath(join('', @args)); } =item catfile @@ -121,12 +117,12 @@ complete path ending with a filename sub catfile { my $self = shift @_; my $file = pop @_; - return $file unless @_; + return $self->canonpath($file) unless @_; my $dir = $self->catdir(@_); for ($dir) { $_ .= "/" unless substr($_,length($_)-1,1) eq "/"; } - return $dir.$file; + return $self->canonpath($dir.$file); } =item curdir diff --git a/lib/ExtUtils/MM_VMS.pm b/lib/ExtUtils/MM_VMS.pm index 954f6123d5..29bfaf2e55 100644 --- a/lib/ExtUtils/MM_VMS.pm +++ b/lib/ExtUtils/MM_VMS.pm @@ -61,15 +61,22 @@ sub eliminate_macros { if ($self->{$2}) { ($head,$macro,$tail) = ($1,$2,$3); if (ref $self->{$macro}) { - carp "Can't expand macro containing " . ref $self->{$macro}; - $npath = "$head\cB$macro\cB$tail"; - $complex = 1; + 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; } + if ($complex) { $npath =~ s#\cB(.*?)\cB#\${$1}#g; } print "eliminate_macros($path) = |$npath|\n" if $Verbose >= 3; $npath; } @@ -193,7 +200,7 @@ sub wraplist { # traversing array (scalar(@array) doesn't show them, but # foreach(@array) does) (5.00307) next unless $word =~ /\w/; - $line .= ', ' if length($line); + $line .= ' ' if length($line); if ($hlen > 80) { $line .= "\\\n\t"; $hlen = 0; } $line .= $word; $hlen += length($word) + 2; @@ -632,9 +639,9 @@ sub constants { if ($self->{OBJECT} =~ /\s/) { $self->{OBJECT} =~ s/(\\)?\n+\s+/ /g; - $self->{OBJECT} = join(' ',map($self->fixpath($_),split(/,?\s+/,$self->{OBJECT}))); + $self->{OBJECT} = $self->wraplist(map($self->fixpath($_),split(/,?\s+/,$self->{OBJECT}))); } - $self->{LDFROM} = join(' ',map($self->fixpath($_),split(/,?\s+/,$self->{LDFROM}))); + $self->{LDFROM} = $self->wraplist(map($self->fixpath($_),split(/,?\s+/,$self->{LDFROM}))); # Fix up directory specs @@ -726,12 +733,12 @@ MM_VMS_REVISION = $ExtUtils::MM_VMS::Revision push @m,' # Handy lists of source code files: -XS_FILES = ',$self->wraplist(', ', sort keys %{$self->{XS}}),' -C_FILES = ',$self->wraplist(', ', @{$self->{C}}),' -O_FILES = ',$self->wraplist(', ', @{$self->{O_FILES}} ),' -H_FILES = ',$self->wraplist(', ', @{$self->{H}}),' -MAN1PODS = ',$self->wraplist(', ', sort keys %{$self->{MAN1PODS}}),' -MAN3PODS = ',$self->wraplist(', ', sort keys %{$self->{MAN3PODS}}),' +XS_FILES = ',$self->wraplist(sort keys %{$self->{XS}}),' +C_FILES = ',$self->wraplist(@{$self->{C}}),' +O_FILES = ',$self->wraplist(@{$self->{O_FILES}} ),' +H_FILES = ',$self->wraplist(@{$self->{H}}),' +MAN1PODS = ',$self->wraplist(sort keys %{$self->{MAN1PODS}}),' +MAN3PODS = ',$self->wraplist(sort keys %{$self->{MAN3PODS}}),' '; @@ -764,21 +771,22 @@ INST_DYNAMIC = $(INST_ARCHAUTODIR)$(BASEEXT).$(DLEXT) INST_BOOT = $(INST_ARCHAUTODIR)$(BASEEXT).bs '; } else { + my $shr = $Config{'dbgprefix'} . 'PERLSHR'; push @m,' INST_STATIC = INST_DYNAMIC = INST_BOOT = EXPORT_LIST = $(BASEEXT).opt -PERL_ARCHIVE = ',($ENV{'PERLSHR'} ? $ENV{'PERLSHR'} : "Sys\$Share:PerlShr.$Config{'dlext'}"),' +PERL_ARCHIVE = ',($ENV{$shr} ? $ENV{$shr} : "Sys\$Share:$shr.$Config{'dlext'}"),' '; } $self->{TO_INST_PM} = [ sort keys %{$self->{PM}} ]; $self->{PM_TO_BLIB} = [ %{$self->{PM}} ]; push @m,' -TO_INST_PM = ',$self->wraplist(', ',@{$self->{TO_INST_PM}}),' +TO_INST_PM = ',$self->wraplist(@{$self->{TO_INST_PM}}),' -PM_TO_BLIB = ',$self->wraplist(', ',@{$self->{PM_TO_BLIB}}),' +PM_TO_BLIB = ',$self->wraplist(@{$self->{PM_TO_BLIB}}),' '; join('',@m); @@ -795,18 +803,41 @@ instance of this qualifier on the command line. sub cflags { my($self,$libperl) = @_; - my($quals) = $Config{'ccflags'}; + my($quals) = $self->{CCFLAGS} || $Config{'ccflags'}; + my($definestr,$undefstr,$flagoptstr) = ('','',''); + my($incstr) = '/Include=($(PERL_INC)'; my($name,$sys,@m); - my($optimize) = '/Optimize'; ( $name = $self->{NAME} . "_cflags" ) =~ s/:/_/g ; print STDOUT "Unix shell script ".$Config{"$self->{'BASEEXT'}_cflags"}. " required to modify CC command for $self->{'BASEEXT'}\n" if ($Config{$name}); + if ($quals =~ / -[DIUOg]/) { + while ($quals =~ / -([Og])(\d*)\b/) { + my($type,$lvl) = ($1,$2); + $quals =~ s/ -$type$lvl\b\s*//; + if ($type eq 'g') { $flagoptstr = '/NoOptimize'; } + else { $flagoptstr = '/Optimize' . (defined($lvl) ? "=$lvl" : ''); } + } + while ($quals =~ / -([DIU])(\S+)/) { + my($type,$def) = ($1,$2); + $quals =~ s/ -$type$def\s*//; + $def =~ s/"/""/g; + if ($type eq 'D') { $definestr .= qq["$def",]; } + elsif ($type eq 'I') { $flagincstr .= ',' . $self->fixpath($def,1); } + else { $undefstr .= qq["$def",]; } + } + } + if (length $quals and $quals !~ m!/!) { + warn "MM_VMS: Ignoring unrecognized CCFLAGS elements \"$quals\"\n"; + $quals = ''; + } + 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{'cc'} and $self->{DEFINE} + # 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"; @@ -817,16 +848,18 @@ sub cflags { } $libperl or $libperl = $self->{LIBPERL_A} || "libperl.olb"; + 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' ); - $quals =~ s:/define=\(([^\)]+)\):/Define=($1,$map{$type}):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 - my($incstr) = '/Include=($(PERL_INC)'; if ($self->{'INC'}) { my(@includes) = split(/\s+/,$self->{INC}); foreach (@includes) { @@ -835,14 +868,24 @@ sub cflags { } } $quals .= "$incstr)"; + $self->{CCFLAGS} = $quals; - $optimize = '/Debug/NoOptimize' - if ($self->{OPTIMIZE} =~ /-g/ or $self->{OPTIMIZE} =~ m!/Debug!i); + $self->{OPTIMIZE} ||= $flagoptstr || $Config{'optimize'}; + if ($self->{OPTIMIZE} !~ m!/!) { + if ($self->{OPTIMIZE} =~ m!\b-g\b!) { $self->{OPTIMIZE} = '/Debug/NoOptimize' } + elsif ($self->{OPTIMIZE} =~ /-O(\d*)/) { + $self->{OPTIMIZE} = '/Optimize' . (defined($1) ? "=$1" : ''); + } + else { + warn "MM_VMS: Can't parse OPTIMIZE \"$self->{OPTIMIZE}\"; using default\n" if length $self->{OPTIMIZE}; + $self->{OPTIMIZE} = '/Optimize'; + } + } return $self->{CFLAGS} = qq{ -CCFLAGS = $quals -OPTIMIZE = $optimize -PERLTYPE = +CCFLAGS = $self->{CCFLAGS} +OPTIMIZE = $self->{OPTIMIZE} +PERLTYPE = $self->{PERLTYPE} SPLIT = LARGE = }; @@ -1274,30 +1317,13 @@ sub dlsyms { my($funcs) = $attribs{DL_FUNCS} || $self->{DL_FUNCS} || {}; my($vars) = $attribs{DL_VARS} || $self->{DL_VARS} || []; - my($srcdir)= $attribs{PERL_SRC} || $self->{PERL_SRC} || ''; my(@m); unless ($self->{SKIPHASH}{'dynamic'}) { push(@m,' -dynamic :: rtls.opt $(INST_ARCHAUTODIR)$(BASEEXT).opt +dynamic :: $(INST_ARCHAUTODIR)$(BASEEXT).opt $(NOECHO) $(NOOP) '); - if ($srcdir) { - my($popt) = $self->catfile($srcdir,'perlshr.opt'); - my($lopt) = $self->catfile($srcdir,'crtl.opt'); - push(@m,"# Depend on \$(BASEEXT).opt to insure we copy here *after* autogenerating (wrong) rtls.opt in Mksymlists -rtls.opt : $popt $lopt \$(BASEEXT).opt - Copy/Log $popt Sys\$Disk:[]rtls.opt - Append/Log $lopt Sys\$Disk:[]rtls.opt -"); - } - else { - push(@m,' -# rtls.opt is built in the same step as $(BASEEXT).opt -rtls.opt : $(BASEEXT).opt - $(TOUCH) $(MMS$TARGET) -'); - } } push(@m,' @@ -1347,6 +1373,7 @@ sub dynamic_lib { my($otherldflags) = $attribs{OTHERLDFLAGS} || ""; my($inst_dynamic_dep) = $attribs{INST_DYNAMIC_DEP} || ""; + my $shr = $Config{'dbgprefix'} . 'PerlShr'; my(@m); push @m," @@ -1355,10 +1382,10 @@ INST_DYNAMIC_DEP = $inst_dynamic_dep "; push @m, ' -$(INST_DYNAMIC) : $(INST_STATIC) $(PERL_INC)perlshr_attr.opt rtls.opt $(INST_ARCHAUTODIR).exists $(EXPORT_LIST) $(PERL_ARCHIVE) $(INST_DYNAMIC_DEP) +$(INST_DYNAMIC) : $(INST_STATIC) $(PERL_INC)perlshr_attr.opt $(INST_ARCHAUTODIR).exists $(EXPORT_LIST) $(PERL_ARCHIVE) $(INST_DYNAMIC_DEP) $(NOECHO) $(MKPATH) $(INST_ARCHAUTODIR) - $(NOECHO) If F$TrnLNm("PerlShr").eqs."" Then Define/NoLog/User PerlShr Sys$Share:PerlShr.',$Config{'dlext'},' - Link $(LDFLAGS) /Shareable=$(MMS$TARGET)$(OTHERLDFLAGS) $(BASEEXT).opt/Option,rtls.opt/Option,$(PERL_INC)perlshr_attr.opt/Option + $(NOECHO) If F$TrnLNm("',$shr,'").eqs."" Then Define/NoLog/User ',"$shr Sys\$Share:$shr.$Config{'dlext'}",' + Link $(LDFLAGS) /Shareable=$(MMS$TARGET)$(OTHERLDFLAGS) $(BASEEXT).opt/Option,$(PERL_INC)perlshr_attr.opt/Option '; push @m, $self->dir_target('$(INST_ARCHAUTODIR)'); @@ -1418,27 +1445,20 @@ $(INST_STATIC) : $(OBJECT) $(MYEXTLIB) '; # If this extension has it's own library (eg SDBM_File) # then copy that to $(INST_STATIC) and add $(OBJECT) into it. - push(@m, ' $(CP) $(MYEXTLIB) $(MMS$TARGET)',"\n") if $self->{MYEXTLIB}; + push(@m, "\t",'$(CP) $(MYEXTLIB) $(MMS$TARGET)',"\n") if $self->{MYEXTLIB}; + + push(@m,"\t",'If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET)',"\n"); - push(@m,' - If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET) -'); # if there was a library to copy, then we can't use MMS$SOURCE_LIST, # 'cause it's a library and you can't stick them in other libraries. # In that case, we use $OBJECT instead and hope for the best if ($self->{MYEXTLIB}) { - push(@m,' - Library/Object/Replace $(MMS$TARGET) $(OBJECT) -'); + push(@m,"\t",'Library/Object/Replace $(MMS$TARGET) $(OBJECT)',"\n"); } else { - push(@m,' - Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST) -'); + push(@m,"\t",'Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST)',"\n"); } - push(@m, ' - $(NOECHO) $(PERL) -e "open F,\'>>$(INST_ARCHAUTODIR)extralibs.ld\';print F qq{$(EXTRALIBS)\n};close F;" -'); + push(@m,"\t",'$(NOECHO) $(PERL) -e "open F,\'>>$(INST_ARCHAUTODIR)extralibs.ld\';print F qq{$(EXTRALIBS)\n};close F;"',"\n"); push @m, $self->dir_target('$(INST_ARCHAUTODIR)'); join('',@m); } @@ -1661,6 +1681,9 @@ clean :: push(@otherfiles,$self->catfile('$(INST_ARCHAUTODIR)','extralibs.all')); my($file,$line); $line = ''; #avoid unitialized var warning + # Occasionally files are repeated several times from different sources + { my(%of) = map { ($_,1) } @otherfiles; @otherfiles = keys %of; } + foreach $file (@otherfiles) { $file = $self->fixpath($file); if (length($line) + length($file) > 80) { @@ -1705,6 +1728,8 @@ realclean :: clean } push(@files, values %{$self->{PM}}); $line = ''; #avoid unitialized var warning + # Occasionally files are repeated several times from different sources + { my(%f) = map { ($_,1) } @files; @files = keys %f; } foreach $file (@files) { $file = $self->fixpath($file); if (length($line) + length($file) > 80 || ++$fcnt >= 2) { @@ -1726,6 +1751,8 @@ realclean :: clean else { push(@allfiles, $attribs{FILES}); } } $line = ''; + # Occasionally files are repeated several times from different sources + { my(%af) = map { ($_,1) } @allfiles; @allfiles = keys %af; } foreach $file (@allfiles) { $file = $self->fixpath($file); if (length($line) + length($file) > 80) { diff --git a/lib/ExtUtils/Mksymlists.pm b/lib/ExtUtils/Mksymlists.pm index 2f2366a1c8..4ac175af5e 100644 --- a/lib/ExtUtils/Mksymlists.pm +++ b/lib/ExtUtils/Mksymlists.pm @@ -178,13 +178,6 @@ sub _write_vms { } close OPT; - # Options file specifying RTLs to which this extension must be linked. - # Eventually, the list of libraries will be supplied by a working - # extliblist routine. - open OPT,'>rtls.opt'; - print OPT "PerlShr/Share\n"; - foreach $rtl (split(/\s+/,$Config::Config{'libs'})) { print OPT "$rtl\n"; } - close OPT; } 1; diff --git a/lib/ExtUtils/Packlist.pm b/lib/ExtUtils/Packlist.pm new file mode 100644 index 0000000000..a0128492b2 --- /dev/null +++ b/lib/ExtUtils/Packlist.pm @@ -0,0 +1,231 @@ +package ExtUtils::Packlist; +use strict; +use Carp qw(); +use vars qw($VERSION); +$VERSION = '0.02'; + +# Used for generating filehandle globs. IO::File might not be available! +my $fhname = "FH1"; + +sub mkfh() +{ +no strict; +my $fh = \*{$fhname++}; +use strict; +return($fh); +} + +sub new($$) +{ +my ($class, $packfile) = @_; +$class = ref($class) || $class; +my %self; +tie(%self, $class, $packfile); +return(bless(\%self, $class)); +} + +sub TIEHASH +{ +my ($class, $packfile) = @_; +my $self = { packfile => $packfile }; +bless($self, $class); +$self->read($packfile) if (defined($packfile) && -f $packfile); +return($self); +} + +sub STORE +{ +$_[0]->{data}->{$_[1]} = $_[2]; +} + +sub FETCH +{ +return($_[0]->{data}->{$_[1]}); +} + +sub FIRSTKEY +{ +my $reset = scalar(keys(%{$_[0]->{data}})); +return(each(%{$_[0]->{data}})); +} + +sub NEXTKEY +{ +return(each(%{$_[0]->{data}})); +} + +sub EXISTS +{ +return(exists($_[0]->{data}->{$_[1]})); +} + +sub DELETE +{ +return(delete($_[0]->{data}->{$_[1]})); +} + +sub CLEAR +{ +%{$_[0]->{data}} = (); +} + +sub DESTROY +{ +} + +sub read($;$) +{ +my ($self, $packfile) = @_; +$self = tied(%$self) || $self; + +if (defined($packfile)) { $self->{packfile} = $packfile; } +else { $packfile = $self->{packfile}; } +Carp::croak("No packlist filename specified") if (! defined($packfile)); +my $fh = mkfh(); +open($fh, "<$packfile") || Carp::croak("Can't open file $packfile: $!"); +$self->{data} = {}; +my ($line); +while (defined($line = <$fh>)) + { + chomp $line; + my ($key, @kvs) = split(' ', $line); + $key =~ s!/./!/!g; # Some .packlists have spurious '/./' bits in the paths + if (! @kvs) + { + $self->{data}->{$key} = undef; + } + else + { + my ($data) = {}; + foreach my $kv (@kvs) + { + my ($k, $v) = split('=', $kv); + $data->{$k} = $v; + } + $self->{data}->{$key} = $data; + } + } +close($fh); +} + +sub write($;$) +{ +my ($self, $packfile) = @_; +$self = tied(%$self) || $self; +if (defined($packfile)) { $self->{packfile} = $packfile; } +else { $packfile = $self->{packfile}; } +Carp::croak("No packlist filename specified") if (! defined($packfile)); +my $fh = mkfh(); +open($fh, ">$packfile") || Carp::croak("Can't open file $packfile: $!"); +foreach my $key (sort(keys(%{$self->{data}}))) + { + print $fh ("$key"); + if (ref($self->{data}->{$key})) + { + my $data = $self->{data}->{$key}; + foreach my $k (sort(keys(%$data))) + { + print $fh (" $k=$data->{$k}"); + } + } + print $fh ("\n"); + } +close($fh); +} + +sub validate($;$) +{ +my ($self, $remove) = @_; +$self = tied(%$self) || $self; +my @missing; +foreach my $key (sort(keys(%{$self->{data}}))) + { + if (! -e $key) + { + push(@missing, $key); + delete($self->{data}{$key}) if ($remove); + } + } +return(@missing); +} + +1; + +__END__ + +=head1 NAME + +ExtUtils::Packlist - manage .packlist files + +=head1 SYNOPSIS + + use ExtUtils::Packlist; + my ($pl) = ExtUtils::Packlist->new('.packlist'); + $pl->read('/an/old/.packlist'); + my @missing_files = $pl->validate(); + $pl->write('/a/new/.packlist'); + + $pl->{'/some/file/name'}++; + or + $pl->{'/some/other/file/name'} = { type => 'file', + from => '/some/file' }; + +=head1 DESCRIPTION + +ExtUtils::Packlist provides a standard way to manage .packlist files. +Functions are provided to read and write .packlist files. The original +.packlist format is a simple list of absolute pathnames, one per line. In +addition, this package supports an extended format, where as well as a filename +each line may contain a list of attributes in the form of a space separated +list of key=value pairs. This is used by the installperl script to +differentiate between files and links, for example. + +=head1 USAGE + +The hash reference returned by the new() function can be used to examine and +modify the contents of the .packlist. Items may be added/deleted from the +.packlist by modifying the hash. If the value associated with a hash key is a +scalar, the entry written to the .packlist by any subsequent write() will be a +simple filename. If the value is a hash, the entry written will be the +filename followed by the key=value pairs from the hash. Reading back the +.packlist will recreate the original entries. + +=head1 FUNCTIONS + +=over + +=item new() + +This takes an optional parameter, the name of a .packlist. If the file exists, +it will be opened and the contents of the file will be read. The new() method +returns a reference to a hash. This hash holds an entry for each line in the +.packlist. In the case of old-style .packlists, the value associated with each +key is undef. In the case of new-style .packlists, the value associated with +each key is a hash containing the key=value pairs following the filename in the +.packlist. + +=item read() + +This takes an optional parameter, the name of the .packlist to be read. If +no file is specified, the .packlist specified to new() will be read. If the +.packlist does not exist, Carp::croak will be called. + +=item write() + +This takes an optional parameter, the name of the .packlist to be written. If +no file is specified, the .packlist specified to new() will be overwritten. + +=item validate() + +This checks that every file listed in the .packlist actually exists. If an +argument which evaluates to true is given, any missing files will be removed +from the internal hash. The return value is a list of the missing files, which +will be empty if they all exist. + +=back + +=head1 AUTHOR + +Alan Burlison <Alan.Burlison@uk.sun.com> + +=cut diff --git a/lib/ExtUtils/inst b/lib/ExtUtils/inst new file mode 100755 index 0000000000..cbf2d01194 --- /dev/null +++ b/lib/ExtUtils/inst @@ -0,0 +1,139 @@ +#!/usr/local/bin/perl -w + +use strict; +use IO::File; +use ExtUtils::Packlist; +use ExtUtils::Installed; + +use vars qw($Inst @Modules); + +################################################################################ + +sub do_module($) +{ +my ($module) = @_; +my $help = <<EOF; +Available commands are: + f [all|prog|doc] - List installed files of a given type + d [all|prog|doc] - List the directories used by a module + v - Validate the .packlist - check for missing files + t <tarfile> - Create a tar archive of the module + q - Quit the module +EOF +print($help); +while (1) + { + print("$module cmd? "); + my $reply = <STDIN>; chomp($reply); + CASE: + { + $reply =~ /^f\s*/ and do + { + my $class = (split(' ', $reply))[1]; + $class = 'all' if (! $class); + my @files; + if (eval { @files = $Inst->files($module, $class); }) + { + print("$class files in $module are:\n ", + join("\n ", @files), "\n"); + last CASE; + } + else + { print($@); } + }; + $reply =~ /^d\s*/ and do + { + my $class = (split(' ', $reply))[1]; + $class = 'all' if (! $class); + my @dirs; + if (eval { @dirs = $Inst->directories($module, $class); }) + { + print("$class directories in $module are:\n ", + join("\n ", @dirs), "\n"); + last CASE; + } + else + { print($@); } + }; + $reply =~ /^t\s*/ and do + { + my $file = (split(' ', $reply))[1]; + my $tmp = "/tmp/inst.$$"; + if (my $fh = IO::File->new($tmp, "w")) + { + $fh->print(join("\n", $Inst->files($module))); + $fh->close(); + system("tar cvf $file -I $tmp"); + unlink($tmp); + last CASE; + } + else { print("Can't open $file: $!\n"); } + last CASE; + }; + $reply eq 'v' and do + { + if (my @missing = $Inst->validate($module)) + { + print("Files missing from $module are:\n ", + join("\n ", @missing), "\n"); + } + else + { + print("$module has no missing files\n"); + } + last CASE; + }; + $reply eq 'q' and do + { + return; + }; + # Default + print($help); + } + } +} + +################################################################################ + +sub toplevel() +{ +my $help = <<EOF; +Available commands are: + l - List all installed modules + m <module> - Select a module + q - Quit the program +EOF +print($help); +while (1) + { + print("cmd? "); + my $reply = <STDIN>; chomp($reply); + CASE: + { + $reply eq 'l' and do + { + print("Installed modules are:\n ", join("\n ", @Modules), "\n"); + last CASE; + }; + $reply =~ /^m\s+/ and do + { + do_module((split(' ', $reply))[1]); + last CASE; + }; + $reply eq 'q' and do + { + exit(0); + }; + # Default + print($help); + } + } +} + +################################################################################ + +$Inst = ExtUtils::Installed->new(); +@Modules = $Inst->modules(); +toplevel(); + +################################################################################ diff --git a/lib/Net/Ping.pm b/lib/Net/Ping.pm index 91077ddad1..495b82f95b 100644 --- a/lib/Net/Ping.pm +++ b/lib/Net/Ping.pm @@ -106,7 +106,7 @@ sub new } elsif ($self->{"proto"} eq "icmp") { - croak("icmp ping requires root privilege") if $>; + croak("icmp ping requires root privilege") if ($> and $^O ne 'VMS'); $self->{"proto_num"} = (getprotobyname('icmp'))[2] || croak("Can't get icmp protocol by name"); $self->{"pid"} = $$ & 0xffff; # Save lower 16 bits of pid @@ -618,6 +618,9 @@ realloc(void *mp, size_t nbytes) * FIRST_BIG_TWO_POT, but the new one is near the lower end. */ if (was_alloced && +#ifdef STRESS_REALLOC + 0 && /* always do it the hard way */ +#endif nbytes <= onb && (nbytes > ( (onb >> 1) - M_OVERHEAD ) #ifdef TWO_POT_OPTIMIZE || (i == (FIRST_BIG_TWO_POT - 3) @@ -702,7 +702,7 @@ magic_setenv(SV *sv, MAGIC *mg) s++; if (i >= sizeof tmpbuf /* too long -- assume the worst */ || *tmpbuf != '/' - || (Stat(tmpbuf, &st) == 0 && (st.st_mode & 2)) ) { + || (PerlLIO_stat(tmpbuf, &st) == 0 && (st.st_mode & 2)) ) { MgTAINTEDDIR_on(mg); return 0; } @@ -972,6 +972,7 @@ magic_setnkeys(SV *sv, MAGIC *mg) return 0; } +/* caller is responsible for stack switching/cleanup */ STATIC int magic_methcall(MAGIC *mg, char *meth, I32 flags, int n, SV *val) { @@ -1006,11 +1007,13 @@ magic_methpack(SV *sv, MAGIC *mg, char *meth) ENTER; SAVETMPS; + PUSHSTACK(SI_MAGIC); if (magic_methcall(mg, meth, G_SCALAR, 2, NULL)) { sv_setsv(sv, *stack_sp--); } + POPSTACK(); FREETMPS; LEAVE; return 0; @@ -1027,9 +1030,12 @@ magic_getpack(SV *sv, MAGIC *mg) int magic_setpack(SV *sv, MAGIC *mg) -{ +{ + dSP; ENTER; + PUSHSTACK(SI_MAGIC); magic_methcall(mg, "STORE", G_SCALAR|G_DISCARD, 3, sv); + POPSTACK(); LEAVE; return 0; } @@ -1044,15 +1050,17 @@ magic_clearpack(SV *sv, MAGIC *mg) U32 magic_sizepack(SV *sv, MAGIC *mg) { - dTHR; + dSP; U32 retval = 0; ENTER; SAVETMPS; + PUSHSTACK(SI_MAGIC); if (magic_methcall(mg, "FETCHSIZE", G_SCALAR, 2, NULL)) { sv = *stack_sp--; retval = (U32) SvIV(sv)-1; } + POPSTACK(); FREETMPS; LEAVE; return retval; @@ -1062,11 +1070,13 @@ int magic_wipepack(SV *sv, MAGIC *mg) { dSP; + ENTER; + PUSHSTACK(SI_MAGIC); PUSHMARK(SP); XPUSHs(mg->mg_obj); PUTBACK; - ENTER; perl_call_method("CLEAR", G_SCALAR|G_DISCARD); + POPSTACK(); LEAVE; return 0; } @@ -1079,6 +1089,7 @@ magic_nextpack(SV *sv, MAGIC *mg, SV *key) ENTER; SAVETMPS; + PUSHSTACK(SI_MAGIC); PUSHMARK(SP); EXTEND(SP, 2); PUSHs(mg->mg_obj); @@ -1089,6 +1100,7 @@ magic_nextpack(SV *sv, MAGIC *mg, SV *key) if (perl_call_method(meth, G_SCALAR)) sv_setsv(key, *stack_sp--); + POPSTACK(); FREETMPS; LEAVE; return 0; @@ -1821,17 +1833,13 @@ sighandler(int sig) HV *st; SV *sv, *tSv = Sv; CV *cv = Nullcv; - AV *oldstack; OP *myop = op; U32 flags = 0; I32 o_save_i = savestack_ix, type; - PERL_CONTEXT *cx; XPV *tXpv = Xpv; if (savestack_ix + 15 <= savestack_max) flags |= 1; - if (cxstack_ix < cxstack_max - 2) - flags |= 2; if (markstack_ptr < markstack_max - 2) flags |= 4; if (retstack_ix < retstack_max - 2) @@ -1839,12 +1847,6 @@ sighandler(int sig) if (scopestack_ix < scopestack_max - 3) flags |= 16; - if (flags & 2) { /* POPBLOCK may decrease cxstack too early. */ - cxstack_ix++; /* Protect from overwrite. */ - cx = &cxstack[cxstack_ix]; - type = cx->cx_type; /* Can be during partial write. */ - cx->cx_type = CXt_NULL; /* Make it safe for unwind. */ - } if (!psig_ptr[sig]) die("Signal SIG%s received, but no signal handler set.\n", sig_name[sig]); @@ -1879,11 +1881,6 @@ sighandler(int sig) goto cleanup; } - oldstack = curstack; - if (curstack != signalstack) - AvFILLp(signalstack) = 0; - SWITCHSTACK(curstack, signalstack); - if(psig_name[sig]) { sv = SvREFCNT_inc(psig_name[sig]); flags |= 64; @@ -1892,20 +1889,18 @@ sighandler(int sig) sv = sv_newmortal(); sv_setpv(sv,sig_name[sig]); } + + PUSHSTACK(SI_SIGNAL); PUSHMARK(SP); PUSHs(sv); PUTBACK; perl_call_sv((SV*)cv, G_DISCARD); - SWITCHSTACK(signalstack, oldstack); + POPSTACK(); cleanup: if (flags & 1) savestack_ix -= 8; /* Unprotect save in progress. */ - if (flags & 2) { - cxstack[cxstack_ix].cx_type = type; - cxstack_ix -= 1; - } if (flags & 4) markstack_ptr--; if (flags & 8) diff --git a/mv-if-diff b/mv-if-diff index 1112a10dd3..ada6040c07 100644 --- a/mv-if-diff +++ b/mv-if-diff @@ -8,7 +8,7 @@ if test $# -lt 2 ; then fi if cmp $1 $2 >/dev/null 2>&1; then echo "File $2 not changed." - rm -f tmp + rm -f $1 else mv $1 $2 fi @@ -17,7 +17,6 @@ fi # Note that the text lines /^Summary of/ .. /^\s*$/ are copied into Config.pm. $spitshell <<!GROK!THIS! - Summary of my $package ($baserev patchlevel $PATCHLEVEL subversion $SUBVERSION) configuration: Platform: osname=$osname, osvers=$osvers, archname=$archname @@ -30,13 +29,13 @@ Summary of my $package ($baserev patchlevel $PATCHLEVEL subversion $SUBVERSION) ccflags ='$ccflags' stdchar='$stdchar', d_stdstdio=$d_stdstdio, usevfork=$usevfork intsize=$intsize, longsize=$longsize, ptrsize=$ptrsize, doublesize=$doublesize + d_longlong=$d_longlong, longlongsize=$longlongsize, d_longdbl=$d_longdbl, longdblsize=$longdblsize alignbytes=$alignbytes, usemymalloc=$usemymalloc, prototype=$prototype Linker and Libraries: ld='$ld', ldflags ='$ldflags' libpth=$libpth libs=$libs - libc=$libc, so=$so - useshrplib=$useshrplib, libperl=$libperl + libc=$libc, so=$so, useshrplib=$useshrplib, libperl=$libperl Dynamic Linking: dlsrc=$dlsrc, dlext=$dlext, d_dlsymun=$d_dlsymun, ccdlflags='$ccdlflags' cccdlflags='$cccdlflags', lddlflags='$lddlflags' @@ -725,6 +725,8 @@ #define newASSIGNOP CPerlObj::Perl_newASSIGNOP #undef newCONDOP #define newCONDOP CPerlObj::Perl_newCONDOP +#undef newCONSTSUB +#define newCONSTSUB CPerlObj::Perl_newCONSTSUB #undef newDEFSVOP #define newDEFSVOP CPerlObj::newDEFSVOP #undef newFORM @@ -3336,7 +3336,7 @@ newSUB(I32 floor, OP *o, OP *proto, OP *block) goto done; } /* ahem, death to those who redefine active sort subs */ - if (curstack == sortstack && sortcop == CvSTART(cv)) + if (curstackinfo->si_type == SI_SORT && sortcop == CvSTART(cv)) croak("Can't redefine active sort subroutine %s", name); const_sv = cv_const_sv(cv); if (const_sv || dowarn && !(CvGV(cv) && GvSTASH(CvGV(cv)) @@ -3522,6 +3522,33 @@ newSUB(I32 floor, OP *o, OP *proto, OP *block) return cv; } +void +newCONSTSUB(HV *stash, char *name, SV *sv) +{ + dTHR; + U32 oldhints = hints; + HV *old_cop_stash = curcop->cop_stash; + HV *old_curstash = curstash; + line_t oldline = curcop->cop_line; + curcop->cop_line = copline; + + hints &= ~HINT_BLOCK_SCOPE; + if(stash) + curstash = curcop->cop_stash = stash; + + newSUB( + start_subparse(FALSE, 0), + newSVOP(OP_CONST, 0, newSVpv(name,0)), + newSVOP(OP_CONST, 0, &sv_no), /* SvPV(&sv_no) == "" -- GMB */ + newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv)) + ); + + hints = oldhints; + curcop->cop_stash = old_cop_stash; + curstash = old_curstash; + curcop->cop_line = oldline; +} + CV * newXS(char *name, void (*subaddr) (CPERLproto_ CV *), char *filename) { diff --git a/patchlevel.h b/patchlevel.h index 44bbe3ac57..be0c773a97 100644 --- a/patchlevel.h +++ b/patchlevel.h @@ -1,6 +1,6 @@ #ifndef __PATCHLEVEL_H_INCLUDED__ #define PATCHLEVEL 4 -#define SUBVERSION 62 +#define SUBVERSION 64 /* local_patches -- list of locally applied less-than-subversion patches. @@ -46,5 +46,5 @@ static char *local_patches[] = { # define LOCAL_PATCH_COUNT \ (sizeof(local_patches)/sizeof(local_patches[0])-2) -#define __PATCHLEVEL_H_INCLUDED__ +# define __PATCHLEVEL_H_INCLUDED__ #endif @@ -24,6 +24,13 @@ char *getenv _((char *)); /* Usually in <stdlib.h> */ #endif +#ifdef I_FCNTL +#include <fcntl.h> +#endif +#ifdef I_SYS_FILE +#include <sys/file.h> +#endif + dEXTCONST char rcsid[] = "perl.c\nPatch level: ###\n"; #ifdef IAMSUID @@ -192,6 +199,7 @@ perl_construct(register PerlInterpreter *sv_interp) #endif } + init_stacks(ARGS); #ifdef MULTIPLICITY I_REINIT; perl_destruct_level = 1; @@ -227,7 +235,6 @@ perl_construct(register PerlInterpreter *sv_interp) fdpid = newAV(); /* for remembering popen pids by fd */ - init_stacks(ARGS); DEBUG( { New(51,debname,128,char); New(52,debdelim,128,char); @@ -349,6 +356,7 @@ perl_destruct(register PerlInterpreter *sv_interp) op_free(main_root); main_root = Nullop; } + curcop = &compiling; main_start = Nullop; SvREFCNT_dec(main_cv); main_cv = Nullcv; @@ -452,10 +460,6 @@ perl_destruct(register PerlInterpreter *sv_interp) endav = Nullav; initav = Nullav; - /* temp stack during pp_sort() */ - SvREFCNT_dec(sortstack); - sortstack = Nullav; - /* shortcuts just get cleared */ envgv = Nullgv; siggv = Nullgv; @@ -600,6 +604,7 @@ perl_parse(PerlInterpreter *sv_interp, void (*xsinit) (void), int argc, char **a char *validarg = ""; I32 oldscope; AV* comppadlist; + int e_tmpfd = -1; dJMPENV; int ret; int fdscript = -1; @@ -722,13 +727,36 @@ setuid perl scripts securely.\n"); if (euid != uid || egid != gid) croak("No -e allowed in setuid scripts"); if (!e_fp) { +#ifdef HAS_UMASK + int oldumask = PerlLIO_umask(0177); +#endif e_tmpname = savepv(TMPPATH); +#ifdef HAS_MKSTEMP + e_tmpfd = PerlLIO_mkstemp(e_tmpname); +#else /* use mktemp() */ (void)PerlLIO_mktemp(e_tmpname); if (!*e_tmpname) - croak("Can't mktemp()"); + croak("Cannot generate temporary filename"); +# if defined(HAS_OPEN3) && defined(O_EXCL) + e_tmpfd = open(e_tmpname, + O_WRONLY | O_CREAT | O_EXCL, + 0600); +# else + (void)UNLINK(e_tmpname); + /* Yes, potential race. But at least we can say we tried. */ e_fp = PerlIO_open(e_tmpname,"w"); - if (!e_fp) - croak("Cannot open temporary file"); +# endif +#endif /* ifdef HAS_MKSTEMP */ +#if defined(HAS_MKSTEMP) || (defined(HAS_OPEN3) && defined(O_EXCL)) + if (e_tmpfd < 0) + croak("Cannot create temporary file \"%s\"", e_tmpname); + e_fp = PerlIO_fdopen(e_tmpfd,"w"); +#endif + if (!e_fp) + croak("Cannot create temporary file \"%s\"", e_tmpname); +#ifdef HAS_UMASK + (void)PerlLIO_umask(oldumask); +#endif } if (*++s) PerlIO_puts(e_fp,s); @@ -961,6 +989,7 @@ print \" \\@INC:\\n @INC\\n\";"); (void)UNLINK(e_tmpname); Safefree(e_tmpname); e_tmpname = Nullch; + e_tmpfd = -1; } /* now that script is parsed, we can modify record separator */ @@ -994,7 +1023,7 @@ CPerlObj::perl_run(void) perl_run(PerlInterpreter *sv_interp) #endif { - dTHR; + dSP; I32 oldscope; dJMPENV; int ret; @@ -1032,10 +1061,7 @@ perl_run(PerlInterpreter *sv_interp) JMPENV_POP; return 1; } - if (curstack != mainstack) { - dSP; - SWITCHSTACK(curstack, mainstack); - } + POPSTACK_TO(mainstack); break; } @@ -2441,26 +2467,30 @@ init_debugger(void) curstash = defstash; } +#ifndef STRESS_REALLOC +#define REASONABLE(size) (size) +#else +#define REASONABLE(size) (1) /* unreasonable */ +#endif + void init_stacks(ARGSproto) { - curstack = newAV(); + /* start with 128-item stack and 8K cxstack */ + curstackinfo = new_stackinfo(REASONABLE(128), + REASONABLE(8192/sizeof(PERL_CONTEXT) - 1)); + curstackinfo->si_type = SI_MAIN; + curstack = curstackinfo->si_stack; mainstack = curstack; /* remember in case we switch stacks */ - AvREAL_off(curstack); /* not a real array */ - av_extend(curstack,127); stack_base = AvARRAY(curstack); stack_sp = stack_base; - stack_max = stack_base + 127; - - cxstack_max = 8192 / sizeof(PERL_CONTEXT) - 2; /* Use most of 8K. */ - New(50,cxstack,cxstack_max + 1,PERL_CONTEXT); - cxstack_ix = -1; + stack_max = stack_base + AvMAX(curstack); - New(50,tmps_stack,128,SV*); + New(50,tmps_stack,REASONABLE(128),SV*); tmps_floor = -1; tmps_ix = -1; - tmps_max = 128; + tmps_max = REASONABLE(128); /* * The following stacks almost certainly should be per-interpreter, @@ -2470,41 +2500,53 @@ init_stacks(ARGSproto) if (markstack) { markstack_ptr = markstack; } else { - New(54,markstack,64,I32); + New(54,markstack,REASONABLE(32),I32); markstack_ptr = markstack; - markstack_max = markstack + 64; + markstack_max = markstack + REASONABLE(32); } + SET_MARKBASE; + if (scopestack) { scopestack_ix = 0; } else { - New(54,scopestack,32,I32); + New(54,scopestack,REASONABLE(32),I32); scopestack_ix = 0; - scopestack_max = 32; + scopestack_max = REASONABLE(32); } if (savestack) { savestack_ix = 0; } else { - New(54,savestack,128,ANY); + New(54,savestack,REASONABLE(128),ANY); savestack_ix = 0; - savestack_max = 128; + savestack_max = REASONABLE(128); } if (retstack) { retstack_ix = 0; } else { - New(54,retstack,16,OP*); + New(54,retstack,REASONABLE(16),OP*); retstack_ix = 0; - retstack_max = 16; + retstack_max = REASONABLE(16); } } +#undef REASONABLE + STATIC void nuke_stacks(void) { dTHR; - Safefree(cxstack); + while (curstackinfo->si_next) + curstackinfo = curstackinfo->si_next; + while (curstackinfo) { + PERL_SI *p = curstackinfo->si_prev; + /* curstackinfo->si_stack got nuked by sv_free_arenas() */ + Safefree(curstackinfo->si_cxstack); + Safefree(curstackinfo); + curstackinfo = p; + } Safefree(tmps_stack); DEBUG( { Safefree(debname); @@ -2999,7 +3041,7 @@ my_failure_exit(void) STATIC void my_exit_jump(void) { - dTHR; + dSP; register PERL_CONTEXT *cx; I32 gimme; SV **newsp; @@ -3014,6 +3056,7 @@ my_exit_jump(void) e_tmpname = Nullch; } + POPSTACK_TO(mainstack); if (cxstack_ix >= 0) { if (cxstack_ix > 0) dounwind(0); @@ -144,8 +144,7 @@ register struct op *op asm(stringify(OP_IN_REGISTER)); # define STANDARD_C 1 #endif -#if defined(__cplusplus) || defined(WIN32) || defined(__sgi) || defined(OS2) \ - || defined(__DGUX) +#if defined(__cplusplus) || defined(WIN32) || defined(__sgi) || defined(OS2) || defined(__DGUX) # define DONT_DECLARE_STD 1 #endif @@ -2156,7 +2155,7 @@ enum { #endif /* !USE_LOCALE_NUMERIC */ -#if !defined(PERLIO_IS_STDIO) && defined(HAS_ATTRIBUTE) +#if !defined(PERLIO_IS_STDIO) && defined(HASATTRIBUTE) /* * Now we have __attribute__ out of the way * Remap printf @@ -2178,6 +2177,9 @@ enum { nice_chunk = (char*)(chunk); \ nice_chunk_size = (chunk_size); \ } \ + else { \ + Safefree(chunk); \ + } \ UNLOCK_SV_MUTEX; \ } while (0) @@ -16,7 +16,11 @@ #define PerlDir_tell(dir) piDir->Tell((dir), ErrorNo()) #else #define PerlDir_mkdir(name, mode) Mkdir((name), (mode)) -#define PerlDir_chdir(name) chdir((name)) +#ifdef VMS +# define PerlDir_chdir(name) chdir(((name) && *(name)) ? (name) : "SYS$LOGIN") +#else +# define PerlDir_chdir(name) chdir((name)) +#endif #define PerlDir_rmdir(name) rmdir((name)) #define PerlDir_close(dir) closedir((dir)) #define PerlDir_open(name) opendir((name)) @@ -45,6 +45,7 @@ #define PerlLIO_lseek(fd, offset, mode) lseek((fd), (offset), (mode)) #define PerlLIO_lstat(name, buf) lstat((name), (buf)) #define PerlLIO_mktemp(file) mktemp((file)) +#define PerlLIO_mkstemp(file) mkstemp((file)) #define PerlLIO_open(file, flag) open((file), (flag)) #define PerlLIO_open3(file, flag, perm) open((file), (flag), (perm)) #define PerlLIO_read(fd, buf, count) read((fd), (buf), (count)) diff --git a/perlsdio.h b/perlsdio.h index 9825f8ed92..a539a0a3d9 100644 --- a/perlsdio.h +++ b/perlsdio.h @@ -55,7 +55,12 @@ #define PerlIO_clearerr(f) clearerr(f) #define PerlIO_flush(f) Fflush(f) #define PerlIO_tell(f) ftell(f) -#define PerlIO_seek(f,o,w) fseek(f,o,w) +#if defined(VMS) && !defined(__DECC) + /* Old VAXC RTL doesn't reset EOF on seek; Perl folk seem to expect this */ +# define PerlIO_seek(f,o,w) (((f) && (*f) && ((*f)->_flag &= ~_IOEOF)),fseek(f,o,w)) +#else +# define PerlIO_seek(f,o,w) fseek(f,o,w) +#endif #ifdef HAS_FGETPOS #define PerlIO_getpos(f,p) fgetpos(f,p) #endif diff --git a/perlsock.h b/perlsock.h index d1ae265fcf..08c04f3615 100644 --- a/perlsock.h +++ b/perlsock.h @@ -55,24 +55,29 @@ #define PerlSock_accept(s, a, l) accept(s, a, l) #define PerlSock_bind(s, n, l) bind(s, n, l) #define PerlSock_connect(s, n, l) connect(s, n, l) -#define PerlSock_endhostent() endhostent() -#define PerlSock_endnetent() endnetent() -#define PerlSock_endprotoent() endprotoent() -#define PerlSock_endservent() endservent() + #define PerlSock_gethostbyaddr(a, l, t) gethostbyaddr(a, l, t) #define PerlSock_gethostbyname(n) gethostbyname(n) -#define PerlSock_gethostent() gethostent() +#define PerlSock_gethostent gethostent +#define PerlSock_endhostent endhostent #define PerlSock_gethostname(n, l) gethostname(n, l) + #define PerlSock_getnetbyaddr(n, t) getnetbyaddr(n, t) -#define PerlSock_getnetbyname(c) getnetbyname(c) -#define PerlSock_getnetent() getnetent() +#define PerlSock_getnetbyname(n) getnetbyname(n) +#define PerlSock_getnetent getnetent +#define PerlSock_endnetent endnetent #define PerlSock_getpeername(s, n, l) getpeername(s, n, l) + #define PerlSock_getprotobyname(n) getprotobyname(n) #define PerlSock_getprotobynumber(n) getprotobynumber(n) -#define PerlSock_getprotoent() getprotoent() +#define PerlSock_getprotoent getprotoent +#define PerlSock_endprotoent endprotoent + #define PerlSock_getservbyname(n, p) getservbyname(n, p) #define PerlSock_getservbyport(port, p) getservbyport(port, p) -#define PerlSock_getservent() getservent() +#define PerlSock_getservent getservent +#define PerlSock_endservent endservent + #define PerlSock_getsockname(s, n, l) getsockname(s, n, l) #define PerlSock_getsockopt(s, l, n, v, i) getsockopt(s, l, n, v, i) #define PerlSock_inet_addr(c) inet_addr(c) @@ -1284,7 +1284,7 @@ YYSTYPE yyval; YYSTYPE yylval; #line 636 "perly.y" /* PROGRAM */ -#line 1349 "y.tab.c" +#line 1349 "perly.c" #define YYABORT goto yyabort #define YYACCEPT goto yyaccept #define YYERROR goto yyerrlab @@ -2290,7 +2290,7 @@ case 176: #line 633 "perly.y" { yyval.opval = yyvsp[0].opval; } break; -#line 2267 "y.tab.c" +#line 2267 "perly.c" } yyssp -= yym; yystate = *yyssp; diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 9f16761239..96f5c671ea 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -693,11 +693,6 @@ to exist. (F) List assignment to %ENV is not supported on some systems, notably VMS. -=item Can't mktemp() - -(F) The mktemp() routine failed for some reason while trying to process -a B<-e> switch. Maybe your /tmp partition is full, or clobbered. - =item Can't modify %s in %s (F) You aren't allowed to assign to the item indicated, or otherwise try to @@ -894,15 +889,22 @@ a B<-e> switch. Maybe your /tmp partition is full, or clobbered. an assignment operator, which implies modifying the value itself. Perhaps you need to copy the value to a temporary, and repeat that. +=item Cannot create temporary file "%s" + +(F) A temporary file could not created for some reason while trying to +process a B<-e> switch. Maybe your temporary file partition is full, +or over-protected, or clobbered. + =item Cannot find an opnumber for "%s" (F) A string of a form C<CORE::word> was given to prototype(), but there is no builtin with the name C<word>. -=item Cannot open temporary file +=item Cannot generate temporary filename -(F) The create routine failed for some reason while trying to process -a B<-e> switch. Maybe your /tmp partition is full, or clobbered. +(F) While trying to process a B<-e> switch, a filename for a temporary +file could not be generated. Maybe your temporary file partition is +full, or over-protected, or clobbered. =item Cannot resolve method `%s' overloading `%s' in package `%s' @@ -1709,10 +1711,10 @@ about 250 characters. You've exceeded that length. Future versions of Perl are likely to eliminate this arbitrary limitation. In the meantime, try using scientific notation (e.g. "1e6" instead of "1_000_000"). -=item Odd number of elements in hash list +=item Odd number of elements in hash assignment -(S) You specified an odd number of elements to a hash list, which is odd, -because hash lists come in key/value pairs. +(S) You specified an odd number of elements to initialize a hash, which +is odd, because hashes come in key/value pairs. =item Offset outside string @@ -2061,6 +2063,18 @@ which is why it's currently left out of your copy. (F) More than 100 levels of inheritance were used. Probably indicates an unintended loop in your inheritance hierarchy. +=item Reference found where even-sized list expected + +(W) You gave a single reference where Perl was expecting a list with +an even number of elements (for assignment to a hash). This +usually means that you used the anon hash constructor when you meant +to use parens. In any case, a hash requires key/value B<pairs>. + + %hash = { one => 1, two => 2, }; # WRONG + %hash = [ qw/ an anon array / ]; # WRONG + %hash = ( one => 1, two => 2, ); # right + %hash = qw( one 1 two 2 ); # also fine + =item Reference miscount in sv_replace() (W) The internal sv_replace() function was handed a new SV with a diff --git a/pod/perlguts.pod b/pod/perlguts.pod index c6ba0115e2..9b7cab627e 100644 --- a/pod/perlguts.pod +++ b/pod/perlguts.pod @@ -2123,6 +2123,13 @@ The XSUB-writer's interface to the C C<malloc> function, with cast. void* Newc( x, void *ptr, int size, type, cast ) +=item newCONSTSUB + +Creates a constant sub equivalent to Perl C<sub FOO () { 123 }> +which is eligible for inlining at compile-time. + + void newCONSTSUB(HV* stash, char* name, SV* sv) + =item newHV Creates a new HV. The reference count is set to 1. diff --git a/pod/perlrun.pod b/pod/perlrun.pod index 01ad16783d..87173492d1 100644 --- a/pod/perlrun.pod +++ b/pod/perlrun.pod @@ -72,7 +72,7 @@ The sequences "-*" and "- " are specifically ignored so that you could, if you were so inclined, say #!/bin/sh -- # -*- perl -*- -p - eval 'exec /usr/bin/perl $0 -S ${1+"$@"}' + eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if $running_under_some_shell; to let Perl see the B<-p> switch. @@ -618,7 +618,8 @@ look in COMSPEC to find a shell fit for interactive use). =item PERL_DEBUG_MSTATS -Relevant only if your perl executable was built with B<-DDEBUGGING_MSTATS>, +Relevant only if perl is compiled with the malloc included with the perl +distribution (that is, if C<perl -V:d_mymalloc> is 'define'), if set, this causes memory statistics to be dumped after execution. If set to an integer greater than one, also causes memory statistics to be dumped after compilation. diff --git a/pod/pod2latex.PL b/pod/pod2latex.PL index 3d0b55b32f..1d188099cb 100644 --- a/pod/pod2latex.PL +++ b/pod/pod2latex.PL @@ -472,6 +472,9 @@ while (<POD>) { noindex: ; } + elsif ($cmd eq 'pod') { + ; # recognise the pod directive, as no op (hs) + } else { warn "Unrecognized directive: $cmd\n"; } @@ -676,7 +679,7 @@ BEGIN { "otilde" => "\\~{o}", # small o, tilde "Ouml" => '\\"{O}', # capital O, dieresis or umlaut mark "ouml" => '\\"{o}', # small o, dieresis or umlaut mark - "szlig" => '\\ss', # small sharp s, German (sz ligature) + "szlig" => '\\ss{}', # small sharp s, German (sz ligature) "THORN" => '\\L', # capital THORN, Icelandic "thorn" => '\\l',, # small thorn, Icelandic "Uacute" => "\\'{U}", # capital U, acute accent @@ -69,7 +69,11 @@ typedef unsigned UBW; * If they're not right on your machine, then pack() and unpack() * wouldn't work right anyway; you'll need to apply the Cray hack. * (I'd like to check them with #if, but you can't use sizeof() in - * the preprocessor.) + * the preprocessor.) --??? + */ +/* + The appropriate SHORTSIZE, INTSIZE, LONGSIZE, and LONGLONGSIZE + defines are now in config.h. --Andy Dougherty April 1998 */ #define SIZE16 2 #define SIZE32 4 @@ -1778,6 +1782,7 @@ PP(pp_substr) len = POPi; pos = POPi; sv = POPs; + PUTBACK; tmps = SvPV(sv, curlen); if (pos >= arybase) { pos -= arybase; @@ -1844,6 +1849,7 @@ PP(pp_substr) LvTARGLEN(TARG) = rem; } } + SPAGAIN; PUSHs(TARG); /* avoid SvSETMAGIC here */ RETURN; } @@ -2485,7 +2491,7 @@ PP(pp_anonhash) if (MARK < SP) sv_setsv(val, *++MARK); else if (dowarn) - warn("Odd number of elements in hash list"); + warn("Odd number of elements in hash assignment"); (void)hv_store_ent(hv,key,val,0); } SP = ORIGMARK; @@ -2836,11 +2842,11 @@ mul128(SV *sv, U8 m) U32 i = 0; if (!strnEQ(s, "0000", 4)) { /* need to grow sv */ - SV *New = newSVpv("0000000000", 10); + SV *tmpNew = newSVpv("0000000000", 10); - sv_catsv(New, sv); + sv_catsv(tmpNew, sv); SvREFCNT_dec(sv); /* free old sv */ - sv = New; + sv = tmpNew; s = SvPV(sv, len); } t = s + len - 1; @@ -154,11 +154,14 @@ #define ARGTARG op->op_targ #define MAXARG op->op_private -#define SWITCHSTACK(f,t) AvFILLp(f) = sp - stack_base; \ - stack_base = AvARRAY(t); \ - stack_max = stack_base + AvMAX(t); \ - sp = stack_sp = stack_base + AvFILLp(t); \ - curstack = t; +#define SWITCHSTACK(f,t) \ + STMT_START { \ + AvFILLp(f) = sp - stack_base; \ + stack_base = AvARRAY(t); \ + stack_max = stack_base + AvMAX(t); \ + sp = stack_sp = stack_base + AvFILLp(t); \ + curstack = t; \ + } STMT_END #define EXTEND_MORTAL(n) \ STMT_START { \ @@ -707,7 +707,6 @@ PP(pp_sort) max = --up - myorigmark; if (sortcop) { if (max > 1) { - AV *oldstack; PERL_CONTEXT *cx; SV** newsp; bool oldcatch = CATCH_GET; @@ -715,14 +714,8 @@ PP(pp_sort) SAVETMPS; SAVEOP(); - oldstack = curstack; - if (!sortstack) { - sortstack = newAV(); - AvREAL_off(sortstack); - av_extend(sortstack, 32); - } CATCH_SET(TRUE); - SWITCHSTACK(curstack, sortstack); + PUSHSTACK(SI_SORT); if (sortstash != stash) { firstgv = gv_fetchpv("a", TRUE, SVt_PV); secondgv = gv_fetchpv("b", TRUE, SVt_PV); @@ -745,7 +738,7 @@ PP(pp_sort) qsortsv((myorigmark+1), max, FUNC_NAME_TO_PTR(sortcv)); POPBLOCK(cx,curpm); - SWITCHSTACK(sortstack, oldstack); + POPSTACK(); CATCH_SET(oldcatch); } LEAVE; @@ -1039,7 +1032,7 @@ dounwind(I32 cxix) OP * die_where(char *message) { - dTHR; + dSP; if (in_eval) { I32 cxix; register PERL_CONTEXT *cx; @@ -1069,7 +1062,11 @@ die_where(char *message) else sv_setpv(ERRSV, message); - cxix = dopoptoeval(cxstack_ix); + while ((cxix = dopoptoeval(cxstack_ix)) < 0 && curstackinfo->si_prev) { + dounwind(-1); + POPSTACK(); + } + if (cxix >= 0) { I32 optype; @@ -1439,7 +1436,7 @@ PP(pp_return) PMOP *newpm; I32 optype = 0; - if (curstack == sortstack) { + if (curstackinfo->si_type == SI_SORT) { if (cxstack_ix == sortcxix || dopoptosub(cxstack_ix) <= sortcxix) { if (cxstack_ix > sortcxix) dounwind(sortcxix); @@ -1992,7 +1989,7 @@ PP(pp_goto) do_undump = FALSE; } - if (curstack == signalstack) { + if (top_env->je_prev) { restartop = retop; JMPENV_JUMP(3); } @@ -644,8 +644,15 @@ PP(pp_aassign) } TAINT_NOT; } - if (relem == lastrelem && dowarn) - warn("Odd number of elements in hash list"); + if (relem == lastrelem && dowarn) { + if (relem == firstrelem && + SvROK(*relem) && + ( SvTYPE(SvRV(*relem)) == SVt_PVAV || + SvTYPE(SvRV(*relem)) == SVt_PVHV ) ) + warn("Reference found where even-sized list expected"); + else + warn("Odd number of elements in hash assignment"); + } } break; default: @@ -1077,7 +1084,10 @@ do_readline(void) } } if ((tmpfp = PerlIO_open(tmpfnam,"w+","fop=dlt")) != NULL) { - ok = ((wilddsc.dsc$a_pointer = tovmsspec(SvPVX(tmpglob),vmsspec)) != NULL); + Stat_t st; + if (!PerlLIO_stat(SvPVX(tmpglob),&st) && S_ISDIR(st.st_mode)) + ok = ((wilddsc.dsc$a_pointer = tovmspath(SvPVX(tmpglob),vmsspec)) != NULL); + else ok = ((wilddsc.dsc$a_pointer = tovmsspec(SvPVX(tmpglob),vmsspec)) != NULL); if (ok) wilddsc.dsc$w_length = (unsigned short int) strlen(wilddsc.dsc$a_pointer); while (ok && ((sts = lib$find_file(&wilddsc,&rsdsc,&cxt, &dfltdsc,NULL,NULL,NULL))&1)) { @@ -54,7 +54,11 @@ extern "C" int syscall(unsigned long,...); #endif #endif -#ifdef HOST_NOT_FOUND +/* XXX Configure test needed. + h_errno might not be a simple 'int', especially for multi-threaded + applications. HOST_NOT_FOUND is typically defined in <netdb.h>. +*/ +#if defined(HOST_NOT_FOUND) && !defined(h_errno) extern int h_errno; #endif @@ -521,16 +525,17 @@ PP(pp_binmode) PP(pp_tie) { djSP; + dMARK; SV *varsv; HV* stash; GV *gv; SV *sv; - SV **mark = stack_base + ++*markstack_ptr; /* reuse in entersub */ - I32 markoff = mark - stack_base - 1; + I32 markoff = MARK - stack_base; char *methname; int how = 'P'; + U32 items; - varsv = mark[0]; + varsv = *++MARK; switch(SvTYPE(varsv)) { case SVt_PVHV: methname = "TIEHASH"; @@ -547,26 +552,39 @@ PP(pp_tie) how = 'q'; break; } - - if (sv_isobject(mark[1])) { + items = SP - MARK++; + if (sv_isobject(*MARK)) { ENTER; + PUSHSTACK(SI_MAGIC); + PUSHMARK(SP); + EXTEND(SP,items); + while (items--) + PUSHs(*MARK++); + PUTBACK; perl_call_method(methname, G_SCALAR); } else { /* Not clear why we don't call perl_call_method here too. * perhaps to get different error message ? */ - stash = gv_stashsv(mark[1], FALSE); + stash = gv_stashsv(*MARK, FALSE); if (!stash || !(gv = gv_fetchmethod(stash, methname))) { DIE("Can't locate object method \"%s\" via package \"%s\"", - methname, SvPV(mark[1],na)); + methname, SvPV(*MARK,na)); } ENTER; + PUSHSTACK(SI_MAGIC); + PUSHMARK(SP); + EXTEND(SP,items); + while (items--) + PUSHs(*MARK++); + PUTBACK; perl_call_sv((SV*)GvCV(gv), G_SCALAR); } SPAGAIN; sv = TOPs; + POPSTACK(); if (sv_isobject(sv)) { sv_unmagic(varsv, how); sv_magic(varsv, sv, how, Nullch, 0); @@ -2664,11 +2682,11 @@ PP(pp_rename) #ifdef HAS_RENAME anum = rename(tmps, tmps2); #else - if (!(anum = Stat(tmps, &statbuf))) { + if (!(anum = PerlLIO_stat(tmps, &statbuf))) { if (same_dirent(tmps2, tmps)) /* can always rename to same name */ anum = 1; else { - if (euid || Stat(tmps2, &statbuf) < 0 || !S_ISDIR(statbuf.st_mode)) + if (euid || PerlLIO_stat(tmps2, &statbuf) < 0 || !S_ISDIR(statbuf.st_mode)) (void)UNLINK(tmps2); if (!(anum = link(tmps, tmps2))) anum = UNLINK(tmps); @@ -2805,7 +2823,7 @@ char *filename; return 0; } else { /* some mkdirs return no failure indication */ - anum = (Stat(save_filename, &statbuf) >= 0); + anum = (PerlLIO_stat(save_filename, &statbuf) >= 0); if (op->op_type == OP_RMDIR) anum = !anum; if (anum) @@ -3607,33 +3625,38 @@ PP(pp_ghostent) I32 which = op->op_type; register char **elem; register SV *sv; -#if defined(HAS_GETHOSTENT) && !defined(DONT_DECLARE_STD) +#ifndef HAS_GETHOST_PROTOS /* XXX Do we need individual probes? */ struct hostent *PerlSock_gethostbyaddr(Netdb_host_t, Netdb_hlen_t, int); struct hostent *PerlSock_gethostbyname(Netdb_name_t); -#ifndef PerlSock_gethostent struct hostent *PerlSock_gethostent(void); #endif -#endif struct hostent *hent; unsigned long len; EXTEND(SP, 10); - if (which == OP_GHBYNAME) { + if (which == OP_GHBYNAME) +#ifdef HAS_GETHOSTBYNAME hent = PerlSock_gethostbyname(POPp); - } +#else + DIE(no_sock_func, "gethostbyname"); +#endif else if (which == OP_GHBYADDR) { +#ifdef HAS_GETHOSTBYADDR int addrtype = POPi; SV *addrsv = POPs; STRLEN addrlen; Netdb_host_t addr = (Netdb_host_t) SvPV(addrsv, addrlen); hent = PerlSock_gethostbyaddr(addr, (Netdb_hlen_t) addrlen, addrtype); +#else + DIE(no_sock_func, "gethostbyaddr"); +#endif } else #ifdef HAS_GETHOSTENT hent = PerlSock_gethostent(); #else - DIE("gethostent not implemented"); + DIE(no_sock_func, "gethostent"); #endif #ifdef HOST_NOT_FOUND @@ -3710,22 +3733,34 @@ PP(pp_gnetent) I32 which = op->op_type; register char **elem; register SV *sv; -#ifdef NETDB_H_OMITS_GETNET - struct netent *getnetbyaddr(Netdb_net_t, int); - struct netent *getnetbyname(Netdb_name_t); - struct netent *getnetent(void); +#ifndef HAS_GETNET_PROTOS /* XXX Do we need individual probes? */ + struct netent *PerlSock_getnetbyaddr(Netdb_net_t, int); + struct netent *PerlSock_getnetbyname(Netdb_name_t); + struct netent *PerlSock_getnetent(void); #endif struct netent *nent; if (which == OP_GNBYNAME) +#ifdef HAS_GETNETBYNAME nent = PerlSock_getnetbyname(POPp); +#else + DIE(no_sock_func, "getnetbyname"); +#endif else if (which == OP_GNBYADDR) { +#ifdef HAS_GETNETBYADDR int addrtype = POPi; Netdb_net_t addr = (Netdb_net_t) U_L(POPn); nent = PerlSock_getnetbyaddr(addr, addrtype); +#else + DIE(no_sock_func, "getnetbyaddr"); +#endif } else +#ifdef HAS_GETNETENT nent = PerlSock_getnetent(); +#else + DIE(no_sock_func, "getnetent"); +#endif EXTEND(SP, 4); if (GIMME != G_ARRAY) { @@ -3785,21 +3820,31 @@ PP(pp_gprotoent) I32 which = op->op_type; register char **elem; register SV *sv; -#ifndef DONT_DECLARE_STD +#ifndef HAS_GETPROTO_PROTOS /* XXX Do we need individual probes? */ struct protoent *PerlSock_getprotobyname(Netdb_name_t); struct protoent *PerlSock_getprotobynumber(int); -#ifndef PerlSock_getprotoent struct protoent *PerlSock_getprotoent(void); #endif -#endif struct protoent *pent; if (which == OP_GPBYNAME) +#ifdef HAS_GETPROTOBYNAME pent = PerlSock_getprotobyname(POPp); +#else + DIE(no_sock_func, "getprotobyname"); +#endif else if (which == OP_GPBYNUMBER) +#ifdef HAS_GETPROTOBYNUMBER pent = PerlSock_getprotobynumber(POPi); +#else + DIE(no_sock_func, "getprotobynumber"); +#endif else +#ifdef HAS_GETPROTOENT pent = PerlSock_getprotoent(); +#else + DIE(no_sock_func, "getprotoent"); +#endif EXTEND(SP, 3); if (GIMME != G_ARRAY) { @@ -3834,7 +3879,7 @@ PP(pp_gprotoent) PP(pp_gsbyname) { -#ifdef HAS_GETSERVICEBYNAME +#ifdef HAS_GETSERVBYNAME return pp_gservent(ARGS); #else DIE(no_sock_func, "getservbyname"); @@ -3843,7 +3888,7 @@ PP(pp_gsbyname) PP(pp_gsbyport) { -#ifdef HAS_GETSERVICEBYPORT +#ifdef HAS_GETSERVBYPORT return pp_gservent(ARGS); #else DIE(no_sock_func, "getservbyport"); @@ -3857,16 +3902,15 @@ PP(pp_gservent) I32 which = op->op_type; register char **elem; register SV *sv; -#ifndef DONT_DECLARE_STD +#ifndef HAS_GETSERV_PROTOS /* XXX Do we need individual probes? */ struct servent *PerlSock_getservbyname(Netdb_name_t, Netdb_name_t); struct servent *PerlSock_getservbyport(int, Netdb_name_t); -#ifndef PerlSock_getservent struct servent *PerlSock_getservent(void); #endif -#endif struct servent *sent; if (which == OP_GSBYNAME) { +#ifdef HAS_GETSERVBYNAME char *proto = POPp; char *name = POPp; @@ -3874,8 +3918,12 @@ PP(pp_gservent) proto = Nullch; sent = PerlSock_getservbyname(name, proto); +#else + DIE(no_sock_func, "getservbyname"); +#endif } else if (which == OP_GSBYPORT) { +#ifdef HAS_GETSERVBYPORT char *proto = POPp; unsigned short port = POPu; @@ -3883,9 +3931,16 @@ PP(pp_gservent) port = PerlSock_htons(port); #endif sent = PerlSock_getservbyport(port, proto); +#else + DIE(no_sock_func, "getservbyport"); +#endif } else +#ifdef HAS_GETSERVENT sent = PerlSock_getservent(); +#else + DIE(no_sock_func, "getservent"); +#endif EXTEND(SP, 4); if (GIMME != G_ARRAY) { @@ -319,6 +319,7 @@ VIRTUAL OP* newANONHASH _((OP* o)); VIRTUAL OP* newANONSUB _((I32 floor, OP* proto, OP* block)); VIRTUAL OP* newASSIGNOP _((I32 flags, OP* left, I32 optype, OP* right)); VIRTUAL OP* newCONDOP _((I32 flags, OP* expr, OP* trueop, OP* falseop)); +VIRTUAL void newCONSTSUB _((HV* stash, char* name, SV* sv)); VIRTUAL void newFORM _((I32 floor, OP* o, OP* block)); VIRTUAL OP* newFOROP _((I32 flags, char* label, line_t forline, OP* scalar, OP* expr, OP*block, OP*cont)); VIRTUAL OP* newLOGOP _((I32 optype, I32 flags, OP* left, OP* right)); @@ -368,6 +369,7 @@ VIRTUAL OP* newWHILEOP _((I32 flags, I32 debuggable, LOOP* loop, #ifdef USE_THREADS VIRTUAL struct perl_thread * new_struct_thread _((struct perl_thread *t)); #endif +VIRTUAL PERL_SI * new_stackinfo _((I32 stitems, I32 cxitems)); VIRTUAL PerlIO* nextargv _((GV* gv)); VIRTUAL char* ninstr _((char* big, char* bigend, char* little, char* lend)); VIRTUAL OP* oopsCV _((OP* o)); @@ -152,8 +152,13 @@ static scan_data_t zero_scan_data = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; #define SF_FIX_BEFORE_EOL (SF_FIX_BEFORE_SEOL|SF_FIX_BEFORE_MEOL) #define SF_FL_BEFORE_EOL (SF_FL_BEFORE_SEOL|SF_FL_BEFORE_MEOL) -#define SF_FIX_SHIFT_EOL (+2) -#define SF_FL_SHIFT_EOL (+4) +#ifdef NO_UNARY_PLUS +# define SF_FIX_SHIFT_EOL (0+2) +# define SF_FL_SHIFT_EOL (0+4) +#else +# define SF_FIX_SHIFT_EOL (+2) +# define SF_FL_SHIFT_EOL (+4) +#endif #define SF_FIX_BEFORE_SEOL (SF_BEFORE_SEOL << SF_FIX_SHIFT_EOL) #define SF_FIX_BEFORE_MEOL (SF_BEFORE_MEOL << SF_FIX_SHIFT_EOL) @@ -271,7 +271,10 @@ struct regnode_2 { #endif -#define REG_INFTY I16_MAX +/* I16_MAX is no good for REG_INFTY because sizeof(short) > 2 + * is perfectly fine. In Cray C90 sizeof(short) == 4, + * in Cray T90 sizeof(short) == 8. */ +#define REG_INFTY ((1<<15)-1) #ifdef REGALIGN # define ARG_VALUE(arg) (arg) @@ -445,5 +448,5 @@ const static char reg_off_by_arg[] = { #define REG_SEEN_GPOS 4 #ifdef DEBUGGING -extern char *colors[4]; +EXT char *colors[4]; /* not dEXT since we do EXTERN/INTERN.h shuffle */ #endif @@ -1273,7 +1273,7 @@ regmatch(regnode *prog) *reglastparen = paren; } #endif - scan = NEXTOPER(scan) + 4/sizeof(regnode); + scan = NEXTOPER(scan) + NODE_STEP_REGNODE; if (paren) scan += NEXT_OFF(scan); /* Skip former OPEN. */ reginput = locinput; @@ -1387,13 +1387,13 @@ regmatch(regnode *prog) *reglastparen = paren; ln = ARG1(scan); /* min to match */ n = ARG2(scan); /* max to match */ - scan = regnext(NEXTOPER(scan) + 4/sizeof(regnode)); + scan = regnext(NEXTOPER(scan) + NODE_STEP_REGNODE); goto repeat; case CURLY: paren = 0; ln = ARG1(scan); /* min to match */ n = ARG2(scan); /* max to match */ - scan = NEXTOPER(scan) + 4/sizeof(regnode); + scan = NEXTOPER(scan) + NODE_STEP_REGNODE; goto repeat; case STAR: ln = 0; @@ -25,18 +25,48 @@ stack_grow(SV **sp, SV **p, int n) abort(); #endif stack_sp = sp; +#ifndef STRESS_REALLOC av_extend(curstack, (p - stack_base) + (n) + 128); +#else + av_extend(curstack, (p - stack_base) + (n) + 1); +#endif #if defined(DEBUGGING) && !defined(USE_THREADS) growing--; #endif return stack_sp; } +#ifndef STRESS_REALLOC +#define GROW(old) ((old) * 3 / 2) +#else +#define GROW(old) ((old) + 1) +#endif + +PERL_SI * +new_stackinfo(I32 stitems, I32 cxitems) +{ + PERL_SI *si; + PERL_CONTEXT *cxt; + New(56, si, 1, PERL_SI); + si->si_stack = newAV(); + AvREAL_off(si->si_stack); + av_extend(si->si_stack, stitems > 0 ? stitems-1 : 0); + AvALLOC(si->si_stack)[0] = &sv_undef; + AvFILLp(si->si_stack) = 0; + si->si_prev = 0; + si->si_next = 0; + si->si_cxmax = cxitems - 1; + si->si_cxix = -1; + si->si_type = SI_UNDEF; + New(56, si->si_cxstack, cxitems, PERL_CONTEXT); + return si; +} + I32 cxinc(void) { dTHR; - cxstack_max = cxstack_max * 3 / 2; + cxstack_max = GROW(cxstack_max); Renew(cxstack, cxstack_max + 1, PERL_CONTEXT); /* XXX should fix CXINC macro */ return cxstack_ix + 1; } @@ -46,7 +76,7 @@ push_return(OP *retop) { dTHR; if (retstack_ix == retstack_max) { - retstack_max = retstack_max * 3 / 2; + retstack_max = GROW(retstack_max); Renew(retstack, retstack_max, OP*); } retstack[retstack_ix++] = retop; @@ -67,7 +97,7 @@ push_scope(void) { dTHR; if (scopestack_ix == scopestack_max) { - scopestack_max = scopestack_max * 3 / 2; + scopestack_max = GROW(scopestack_max); Renew(scopestack, scopestack_max, I32); } scopestack[scopestack_ix++] = savestack_ix; @@ -87,7 +117,7 @@ markstack_grow(void) { dTHR; I32 oldmax = markstack_max - markstack; - I32 newmax = oldmax * 3 / 2; + I32 newmax = GROW(oldmax); Renew(markstack, newmax, I32); markstack_ptr = markstack + oldmax; @@ -98,10 +128,12 @@ void savestack_grow(void) { dTHR; - savestack_max = savestack_max * 3 / 2; + savestack_max = GROW(savestack_max) + 4; Renew(savestack, savestack_max, ANY); } +#undef GROW + void free_tmps(void) { @@ -155,11 +187,12 @@ SV * save_scalar(GV *gv) { dTHR; + SV **sptr = &GvSV(gv); SSCHECK(3); - SSPUSHPTR(gv); - SSPUSHPTR(GvSV(gv)); + SSPUSHPTR(SvREFCNT_inc(gv)); + SSPUSHPTR(SvREFCNT_inc(*sptr)); SSPUSHINT(SAVEt_SV); - return save_scalar_at(&GvSV(gv)); + return save_scalar_at(sptr); } SV* @@ -168,7 +201,7 @@ save_svref(SV **sptr) dTHR; SSCHECK(3); SSPUSHPTR(sptr); - SSPUSHPTR(*sptr); + SSPUSHPTR(SvREFCNT_inc(*sptr)); SSPUSHINT(SAVEt_SVREF); return save_scalar_at(sptr); } @@ -428,35 +461,11 @@ save_delete(HV *hv, char *key, I32 klen) SSCHECK(4); SSPUSHINT(klen); SSPUSHPTR(key); - SSPUSHPTR(hv); + SSPUSHPTR(SvREFCNT_inc(hv)); SSPUSHINT(SAVEt_DELETE); } void -save_aelem(AV *av, I32 idx, SV **sptr) -{ - dTHR; - SSCHECK(4); - SSPUSHPTR(av); - SSPUSHINT(idx); - SSPUSHPTR(*sptr); - SSPUSHINT(SAVEt_AELEM); - save_scalar_at(sptr); -} - -void -save_helem(HV *hv, SV *key, SV **sptr) -{ - dTHR; - SSCHECK(4); - SSPUSHPTR(hv); - SSPUSHPTR(key); - SSPUSHPTR(*sptr); - SSPUSHINT(SAVEt_HELEM); - save_scalar_at(sptr); -} - -void save_list(register SV **sarg, I32 maxsarg) { dTHR; @@ -488,6 +497,30 @@ save_destructor(void (*f) (void *), void *p) } void +save_aelem(AV *av, I32 idx, SV **sptr) +{ + dTHR; + SSCHECK(4); + SSPUSHPTR(SvREFCNT_inc(av)); + SSPUSHINT(idx); + SSPUSHPTR(SvREFCNT_inc(*sptr)); + SSPUSHINT(SAVEt_AELEM); + save_scalar_at(sptr); +} + +void +save_helem(HV *hv, SV *key, SV **sptr) +{ + dTHR; + SSCHECK(4); + SSPUSHPTR(SvREFCNT_inc(hv)); + SSPUSHPTR(SvREFCNT_inc(key)); + SSPUSHPTR(SvREFCNT_inc(*sptr)); + SSPUSHINT(SAVEt_HELEM); + save_scalar_at(sptr); +} + +void save_op(void) { dTHR; @@ -524,6 +557,7 @@ leave_scope(I32 base) value = (SV*)SSPOPPTR; gv = (GV*)SSPOPPTR; ptr = &GvSV(gv); + SvREFCNT_dec(gv); goto restore_sv; case SAVEt_SVREF: /* scalar reference */ value = (SV*)SSPOPPTR; @@ -555,6 +589,7 @@ leave_scope(I32 base) localizing = 2; SvSETMAGIC(value); localizing = 0; + SvREFCNT_dec(value); break; case SAVEt_AV: /* array reference */ av = (AV*)SSPOPPTR; @@ -711,6 +746,7 @@ leave_scope(I32 base) hv = (HV*)ptr; ptr = SSPOPPTR; (void)hv_delete(hv, (char*)ptr, (U32)SSPOPINT, G_DISCARD); + SvREFCNT_dec(hv); Safefree(ptr); break; case SAVEt_DESTRUCTOR: @@ -730,14 +766,38 @@ leave_scope(I32 base) i = SSPOPINT; av = (AV*)SSPOPPTR; ptr = av_fetch(av,i,1); - goto restore_sv; + if (ptr) { + sv = *(SV**)ptr; + if (sv && sv != &sv_undef) { + if (SvRMAGICAL(av) && mg_find((SV*)av, 'P')) + (void)SvREFCNT_inc(sv); + SvREFCNT_dec(av); + goto restore_sv; + } + } + SvREFCNT_dec(av); + SvREFCNT_dec(value); + break; case SAVEt_HELEM: /* hash element */ value = (SV*)SSPOPPTR; sv = (SV*)SSPOPPTR; hv = (HV*)SSPOPPTR; ptr = hv_fetch_ent(hv, sv, 1, 0); - ptr = &HeVAL((HE*)ptr); - goto restore_sv; + if (ptr) { + SV *oval = HeVAL((HE*)ptr); + if (oval && oval != &sv_undef) { + ptr = &HeVAL((HE*)ptr); + if (SvRMAGICAL(hv) && mg_find((SV*)hv, 'P')) + (void)SvREFCNT_inc(*(SV**)ptr); + SvREFCNT_dec(hv); + SvREFCNT_dec(sv); + goto restore_sv; + } + } + SvREFCNT_dec(hv); + SvREFCNT_dec(sv); + SvREFCNT_dec(value); + break; case SAVEt_OP: op = (OP*)SSPOPPTR; break; @@ -345,8 +345,19 @@ do_clean_objs(SV *sv) STATIC void do_clean_named_objs(SV *sv) { - if (SvTYPE(sv) == SVt_PVGV && GvSV(sv)) - do_clean_objs(GvSV(sv)); + if (SvTYPE(sv) == SVt_PVGV) { + if ( SvOBJECT(GvSV(sv)) || + GvAV(sv) && SvOBJECT(GvAV(sv)) || + GvHV(sv) && SvOBJECT(GvHV(sv)) || + GvIO(sv) && SvOBJECT(GvIO(sv)) || + GvCV(sv) && SvOBJECT(GvCV(sv)) ) + { + DEBUG_D((PerlIO_printf(Perl_debug_log, "Cleaning named glob object:\n "), sv_dump(sv));) + SvREFCNT_dec(sv); + } + else if (GvSV(sv)) + do_clean_objs(GvSV(sv)); + } } #endif @@ -395,6 +406,10 @@ sv_free_arenas(void) Safefree((void *)sva); } + if (nice_chunk) + Safefree(nice_chunk); + nice_chunk = Nullch; + nice_chunk_size = 0; sv_arenaroot = 0; sv_root = 0; } @@ -1970,7 +1985,7 @@ sv_setsv(SV *dstr, register SV *sstr) SvFAKE_on(dstr); /* can coerce to non-glob */ } /* ahem, death to those who redefine active sort subs */ - else if (curstack == sortstack + else if (curstackinfo->si_type == SI_SORT && GvCV(dstr) && sortcop == CvSTART(GvCV(dstr))) croak("Can't redefine active sort subroutine %s", GvNAME(dstr)); @@ -2061,7 +2076,7 @@ sv_setsv(SV *dstr, register SV *sstr) { /* ahem, death to those who redefine * active sort subs */ - if (curstack == sortstack && + if (curstackinfo->si_type == SI_SORT && sortcop == CvSTART(cv)) croak( "Can't redefine active sort subroutine %s", @@ -2724,6 +2739,7 @@ sv_replace(register SV *sv, register SV *nsv) void sv_clear(register SV *sv) { + HV* stash; assert(sv); assert(SvREFCNT(sv) == 0); @@ -2732,7 +2748,6 @@ sv_clear(register SV *sv) if (defstash) { /* Still have a symbol table? */ djSP; GV* destructor; - HV* stash; SV tmpref; Zero(&tmpref, 1, SV); @@ -2746,6 +2761,7 @@ sv_clear(register SV *sv) destructor = gv_fetchmethod(SvSTASH(sv), "DESTROY"); if (destructor) { ENTER; + PUSHSTACK(SI_DESTROY); SvRV(&tmpref) = SvREFCNT_inc(sv); EXTEND(SP, 2); PUSHMARK(SP); @@ -2754,6 +2770,7 @@ sv_clear(register SV *sv) perl_call_sv((SV*)GvCV(destructor), G_DISCARD|G_EVAL|G_KEEPERR); SvREFCNT(sv)--; + POPSTACK(); LEAVE; } } while (SvOBJECT(sv) && SvSTASH(sv) != stash); @@ -2776,6 +2793,7 @@ sv_clear(register SV *sv) } if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) mg_free(sv); + stash = NULL; switch (SvTYPE(sv)) { case SVt_PVIO: if (IoIFP(sv) != PerlIO_stdin() && @@ -2801,7 +2819,11 @@ sv_clear(register SV *sv) case SVt_PVGV: gp_free((GV*)sv); Safefree(GvNAME(sv)); - SvREFCNT_dec(GvSTASH(sv)); + /* cannot decrease stash refcount yet, as we might recursively delete + ourselves when the refcnt drops to zero. Delay SvREFCNT_dec + of stash until current sv is completely gone. + -- JohnPC, 27 Mar 1998 */ + stash = GvSTASH(sv); /* FALL THROUGH */ case SVt_PVLV: case SVt_PVMG: @@ -2863,7 +2885,13 @@ sv_clear(register SV *sv) break; case SVt_PVGV: del_XPVGV(SvANY(sv)); - break; + /* code duplication for increased performance. */ + SvFLAGS(sv) &= SVf_BREAK; + SvFLAGS(sv) |= SVTYPEMASK; + /* decrease refcount of the stash that owns this GV, if any */ + if (stash) + SvREFCNT_dec(stash); + return; /* not break, SvFLAGS reset already happened */ case SVt_PVBM: del_XPVBM(SvANY(sv)); break; @@ -4095,6 +4123,10 @@ sv_unglob(SV *sv) SvFAKE_off(sv); if (GvGP(sv)) gp_free((GV*)sv); + if (GvSTASH(sv)) { + SvREFCNT_dec(GvSTASH(sv)); + GvSTASH(sv) = Nullhv; + } sv_unmagic(sv, '*'); Safefree(GvNAME(sv)); GvMULTI_off(sv); @@ -5009,7 +5041,8 @@ sv_dump(SV *sv) case SVt_PVGV: PerlIO_printf(Perl_debug_log, " NAME = \"%s\"\n", GvNAME(sv)); PerlIO_printf(Perl_debug_log, " NAMELEN = %ld\n", (long)GvNAMELEN(sv)); - PerlIO_printf(Perl_debug_log, " STASH = \"%s\"\n", HvNAME(GvSTASH(sv))); + PerlIO_printf(Perl_debug_log, " STASH = \"%s\"\n", + SvTYPE(GvSTASH(sv)) == SVt_PVHV ? HvNAME(GvSTASH(sv)) : "(deleted)"); PerlIO_printf(Perl_debug_log, " GP = 0x%lx\n", (long)GvGP(sv)); PerlIO_printf(Perl_debug_log, " SV = 0x%lx\n", (long)GvSV(sv)); PerlIO_printf(Perl_debug_log, " REFCNT = %ld\n", (long)GvREFCNT(sv)); diff --git a/t/lib/english.t b/t/lib/english.t index 1a96c772fe..9691229be0 100755 --- a/t/lib/english.t +++ b/t/lib/english.t @@ -5,7 +5,7 @@ print "1..16\n"; BEGIN { @INC = '../lib' } use English; use Config; -my $threads = $Config{archname} =~ /-thread$/; +my $threads = $Config{'usethreads'} || 0; print $PID == $$ ? "ok 1\n" : "not ok 1\n"; diff --git a/t/op/hashwarn.t b/t/op/hashwarn.t new file mode 100755 index 0000000000..741982622b --- /dev/null +++ b/t/op/hashwarn.t @@ -0,0 +1,70 @@ +#!./perl + +use strict; + +BEGIN { + chdir 't' if -d 't'; +} + +use vars qw{ @warnings }; + +BEGIN { + $^W |= 1; # Insist upon warnings + # ...and save 'em as we go + $SIG{'__WARN__'} = sub { push @warnings, @_ }; + $| = 1; + print "1..7\n"; +} + +END { print "not ok\n# Uncaught warnings:\n@warnings\n" if @warnings } + +sub test ($$;$) { + my($num, $bool, $diag) = @_; + if ($bool) { + print "ok $num\n"; + return; + } + print "not ok $num\n"; + return unless defined $diag; + $diag =~ s/\Z\n?/\n/; # unchomp + print map "# $num : $_", split m/^/m, $diag; +} + +sub test_warning ($$$) { + my($num, $got, $expected) = @_; + my($pattern, $ok); + if (($pattern) = ($expected =~ m#^/(.+)/$#s) or + (undef, $pattern) = ($expected =~ m#^m([^\w\s])(.+)\1$#s)) { + # it's a regexp + $ok = ($got =~ /$pattern/); + test $num, $ok, "Expected pattern /$pattern/, got '$got'\n"; + } else { + $ok = ($got eq $expected); + test $num, $ok, "Expected string '$expected', got '$got'\n"; + } +# print "# $num: $got\n"; +} + +my $odd_msg = '/^Odd number of elements in hash/'; +my $ref_msg = '/^Reference found where even-sized list expected/'; + +{ + my %hash = (1..3); + test_warning 1, shift @warnings, $odd_msg; + + %hash = 1; + test_warning 2, shift @warnings, $odd_msg; + + %hash = { 1..3 }; + test_warning 3, shift @warnings, $odd_msg; + test_warning 4, shift @warnings, $ref_msg; + + %hash = [ 1..3 ]; + test_warning 5, shift @warnings, $ref_msg; + + %hash = sub { print "ok" }; + test_warning 6, shift @warnings, $odd_msg; + + $_ = { 1..10 }; + test 7, ! @warnings, "Unexpected warning"; +} diff --git a/t/op/local.t b/t/op/local.t index 0df1b6d1dc..513e06310f 100755 --- a/t/op/local.t +++ b/t/op/local.t @@ -2,7 +2,7 @@ # $RCSfile: local.t,v $$Revision: 4.1 $$Date: 92/08/07 18:28:04 $ -print "1..36\n"; +print "1..47\n"; sub foo { local($a, $b) = @_; @@ -101,3 +101,61 @@ eval { } }; print $m == 5 ? "" : "not ", "ok 36\n"; + +# see if localization works on tied arrays +{ + package TA; + sub TIEARRAY { bless [], $_[0] } + sub STORE { print "# STORE [@_]\n"; $_[0]->[$_[1]] = $_[2] } + sub FETCH { my $v = $_[0]->[$_[1]]; print "# FETCH [@_=$v]\n"; $v } + sub CLEAR { print "# CLEAR [@_]\n"; @{$_[0]} = (); } + sub FETCHSIZE { scalar(@{$_[0]}) } + sub SHIFT { shift (@{$_[0]}) } + sub EXTEND {} +} + +tie @a, 'TA'; +@a = ('a', 'b', 'c'); +{ + local($a[1]) = 'foo'; + local($a[2]) = $a[1]; # XXX LHS == RHS doesn't work yet + print +($a[1] eq 'foo') ? "" : "not ", "ok 37\n"; + print +($a[2] eq 'foo') ? "" : "not ", "ok 38\n"; + @a = (); +} +print +($a[1] eq 'b') ? "" : "not ", "ok 39\n"; +print +($a[2] eq 'c') ? "" : "not ", "ok 40\n"; +print +(!defined $a[0]) ? "" : "not ", "ok 41\n"; + +{ + package TH; + sub TIEHASH { bless {}, $_[0] } + sub STORE { print "# STORE [@_]\n"; $_[0]->{$_[1]} = $_[2] } + sub FETCH { my $v = $_[0]->{$_[1]}; print "# FETCH [@_=$v]\n"; $v } + sub DELETE { print "# DELETE [@_]\n"; delete $_[0]->{$_[1]}; } + sub CLEAR { print "# CLEAR [@_]\n"; %{$_[0]} = (); } +} + +# see if localization works on tied hashes +tie %h, 'TH'; +%h = ('a' => 1, 'b' => 2, 'c' => 3); + +{ + local($h{'a'}) = 'foo'; + local($h{'b'}) = $h{'a'}; # XXX LHS == RHS doesn't work yet + print +($h{'a'} eq 'foo') ? "" : "not ", "ok 42\n"; + print +($h{'b'} eq 'foo') ? "" : "not ", "ok 43\n"; + local($h{'c'}); + delete $h{'c'}; +} +print +($h{'a'} == 1) ? "" : "not ", "ok 44\n"; +print +($h{'b'} == 2) ? "" : "not ", "ok 45\n"; +print +($h{'c'} == 3) ? "" : "not ", "ok 46\n"; + +@a = ('a', 'b', 'c'); +{ + local($a[1]) = "X"; + shift @a; +} +print +($a[0].$a[1] eq "Xb") ? "" : "not ", "ok 47\n"; + diff --git a/t/op/misc.t b/t/op/misc.t index 40c9c38825..582ffa7905 100755 --- a/t/op/misc.t +++ b/t/op/misc.t @@ -368,3 +368,47 @@ EXPECT 1 2 ######## +package X; +sub ascalar { my $r; bless \$r } +sub DESTROY { print "destroyed\n" }; +package main; +*s = ascalar X; +EXPECT +destroyed +######## +package X; +sub anarray { bless [] } +sub DESTROY { print "destroyed\n" }; +package main; +*a = anarray X; +EXPECT +destroyed +######## +package X; +sub ahash { bless {} } +sub DESTROY { print "destroyed\n" }; +package main; +*h = ahash X; +EXPECT +destroyed +######## +package X; +sub aclosure { my $x; bless sub { ++$x } } +sub DESTROY { print "destroyed\n" }; +package main; +*c = aclosure X; +EXPECT +destroyed +######## +package X; +sub any { bless {} } +my $f = "FH000"; # just to thwart any future optimisations +sub afh { select select ++$f; my $r = *{$f}{IO}; delete $X::{$f}; bless $r } +sub DESTROY { print "destroyed\n" } +package main; +$x = any X; # to bump sv_objcount. IO objs aren't counted?? +*f = afh X; +EXPECT +destroyed +destroyed +######## diff --git a/t/op/runlevel.t b/t/op/runlevel.t index 6693a829a8..b5e5dbb08c 100755 --- a/t/op/runlevel.t +++ b/t/op/runlevel.t @@ -1,17 +1,9 @@ #!./perl ## -## all of these tests are from Michael Schroeder +## Many of these tests are originally from Michael Schroeder ## <Michael.Schroeder@informatik.uni-erlangen.de> -## -## The more esoteric failure modes require Michael's -## stack-of-stacks patch (so we don't test them here, -## and they are commented out before the __END__). -## -## The remaining tests pass with a simpler fix -## intended for 5.004 -## -## Gurusamy Sarathy <gsar@umich.edu> 97-02-24 +## Adapted and expanded by Gurusamy Sarathy <gsar@umich.edu> ## chdir 't' if -d 't'; @@ -59,138 +51,6 @@ for (@prgs){ print "ok ", ++$i, "\n"; } -=head2 stay out of here (the real tests are after __END__) - -## -## these tests don't pass yet (need the full stack-of-stacks patch) -## GSAR 97-02-24 -## - -######## -# sort within sort -sub sortfn { - (split(/./, 'x'x10000))[0]; - my (@y) = ( 4, 6, 5); - @y = sort { $a <=> $b } @y; - print "sortfn ".join(', ', @y)."\n"; - return $_[0] <=> $_[1]; -} -@x = ( 3, 2, 1 ); -@x = sort { &sortfn($a, $b) } @x; -print "---- ".join(', ', @x)."\n"; -EXPECT -sortfn 4, 5, 6 ----- 1, 2, 3 -######## -# trapping eval within sort (doesn't work currently because -# die does a SWITCHSTACK()) -@a = (3, 2, 1); -@a = sort { eval('die("no way")') , $a <=> $b} @a; -print join(", ", @a)."\n"; -EXPECT -1, 2, 3 -######## -# this actually works fine, but results in a poor error message -@a = (1, 2, 3); -foo: -{ - @a = sort { last foo; } @a; -} -EXPECT -cannot reach destination block at - line 2. -######## -package TEST; - -sub TIESCALAR { - my $foo; - return bless \$foo; -} -sub FETCH { - next; - return "ZZZ"; -} -sub STORE { -} - -package main; - -tie $bar, TEST; -{ - print "- $bar\n"; -} -print "OK\n"; -EXPECT -cannot reach destination block at - line 8. -######## -package TEST; - -sub TIESCALAR { - my $foo; - return bless \$foo; -} -sub FETCH { - goto bbb; - return "ZZZ"; -} - -package main; - -tie $bar, TEST; -print "- $bar\n"; -exit; -bbb: -print "bbb\n"; -EXPECT -bbb -######## -# trapping eval within sort (doesn't work currently because -# die does a SWITCHSTACK()) -sub foo { - $a <=> $b unless eval('$a == 0 ? die("foo\n") : ($a <=> $b)'); -} -@a = (3, 2, 0, 1); -@a = sort foo @a; -print join(', ', @a)."\n"; -EXPECT -0, 1, 2, 3 -######## -package TEST; -sub TIESCALAR { - my $foo; - next; - return bless \$foo; -} -package main; -{ -tie $bar, TEST; -} -EXPECT -cannot reach destination block at - line 4. -######## -# large stack extension causes realloc, and segfault -package TEST; -sub TIESCALAR { - my $foo; - return bless \$foo; -} -sub FETCH { - return "fetch"; -} -sub STORE { -(split(/./, 'x'x10000))[0]; -} -package main; -tie $bar, TEST; -$bar = "x"; - -=cut - -## -## -## The real tests begin here -## -## - __END__ @a = (1, 2, 3); { @@ -315,3 +175,121 @@ bar: print "bar reached\n"; EXPECT Can't "goto" outside a block at - line 2. +######## +sub sortfn { + (split(/./, 'x'x10000))[0]; + my (@y) = ( 4, 6, 5); + @y = sort { $a <=> $b } @y; + print "sortfn ".join(', ', @y)."\n"; + return $_[0] <=> $_[1]; +} +@x = ( 3, 2, 1 ); +@x = sort { &sortfn($a, $b) } @x; +print "---- ".join(', ', @x)."\n"; +EXPECT +sortfn 4, 5, 6 +---- 1, 2, 3 +######## +@a = (3, 2, 1); +@a = sort { eval('die("no way")') , $a <=> $b} @a; +print join(", ", @a)."\n"; +EXPECT +1, 2, 3 +######## +@a = (1, 2, 3); +foo: +{ + @a = sort { last foo; } @a; +} +EXPECT +Label not found for "last foo" at - line 2. +######## +package TEST; + +sub TIESCALAR { + my $foo; + return bless \$foo; +} +sub FETCH { + next; + return "ZZZ"; +} +sub STORE { +} + +package main; + +tie $bar, TEST; +{ + print "- $bar\n"; +} +print "OK\n"; +EXPECT +Can't "next" outside a block at - line 8. +######## +package TEST; + +sub TIESCALAR { + my $foo; + return bless \$foo; +} +sub FETCH { + goto bbb; + return "ZZZ"; +} + +package main; + +tie $bar, TEST; +print "- $bar\n"; +exit; +bbb: +print "bbb\n"; +EXPECT +Can't find label bbb at - line 8. +######## +sub foo { + $a <=> $b unless eval('$a == 0 ? die("foo\n") : ($a <=> $b)'); +} +@a = (3, 2, 0, 1); +@a = sort foo @a; +print join(', ', @a)."\n"; +EXPECT +0, 1, 2, 3 +######## +package TEST; +sub TIESCALAR { + my $foo; + return bless \$foo; +} +sub FETCH { + return "fetch"; +} +sub STORE { +(split(/./, 'x'x10000))[0]; +} +package main; +tie $bar, TEST; +$bar = "x"; +######## +package TEST; +sub TIESCALAR { + my $foo; + next; + return bless \$foo; +} +package main; +{ +tie $bar, TEST; +} +EXPECT +Can't "next" outside a block at - line 4. +######## +@a = (1, 2, 3); +foo: +{ + @a = sort { exit(0) } @a; +} +END { print "foobar\n" } +EXPECT +foobar @@ -68,15 +68,17 @@ PERLVAR(Tdelaymagic, int) /* ($<,$>) = ... */ PERLVAR(Tdirty, bool) /* In the middle of tearing things down? */ PERLVAR(Tlocalizing, int) /* are we processing a local() list? */ -PERLVAR(Tcxstack, PERL_CONTEXT *) -PERLVARI(Tcxstack_ix, I32, -1) -PERLVARI(Tcxstack_max, I32, 128) - PERLVAR(Tcurstack, AV *) /* THE STACK */ +PERLVAR(Tcurstackinfo, PERL_SI *) /* current stack + context */ PERLVAR(Tmainstack, AV *) /* the stack when nothing funny is happening */ PERLVAR(Ttop_env, JMPENV *) /* ptr. to current sigjmp() environment */ PERLVAR(Tstart_env, JMPENV) /* empty startup sigjmp() environment */ +/* statics "owned" by various functions */ +PERLVAR(Tav_fetch_sv, SV *) +PERLVAR(Thv_fetch_sv, SV *) +PERLVAR(Thv_fetch_ent_mh, HE) + /* XXX Sort stuff, firstgv secongv and so on? */ /* XXX What about regexp stuff? */ @@ -2838,7 +2838,8 @@ yylex(void) s = scan_word(s, tokenbuf + len, sizeof tokenbuf - len, TRUE, &morelen); if (!morelen) - croak("Bad name after %s::", tokenbuf); + croak("Bad name after %s%s", tokenbuf, + *s == '\'' ? "'" : "::"); len += morelen; } @@ -1273,13 +1273,6 @@ die(pat, va_alist) "%p: die: curstack = %p, mainstack = %p\n", thr, curstack, mainstack)); #endif /* USE_THREADS */ - /* We have to switch back to mainstack or die_where may try to pop - * the eval block from the wrong stack if die is being called from a - * signal handler. - dkindred@cs.cmu.edu */ - if (curstack != mainstack) { - dSP; - SWITCHSTACK(curstack, mainstack); - } #ifdef I_STDARG va_start(args, pat); @@ -1311,11 +1304,12 @@ die(pat, va_alist) SvREADONLY_on(msg); SAVEFREESV(msg); + PUSHSTACK(SI_DIEHOOK); PUSHMARK(SP); XPUSHs(msg); PUTBACK; perl_call_sv((SV*)cv, G_DISCARD); - + POPSTACK(); LEAVE; } } @@ -1376,11 +1370,12 @@ croak(pat, va_alist) SvREADONLY_on(msg); SAVEFREESV(msg); + PUSHSTACK(SI_DIEHOOK); PUSHMARK(SP); XPUSHs(msg); PUTBACK; perl_call_sv((SV*)cv, G_DISCARD); - + POPSTACK(); LEAVE; } } @@ -1435,11 +1430,12 @@ warn(pat,va_alist) SvREADONLY_on(msg); SAVEFREESV(msg); + PUSHSTACK(SI_WARNHOOK); PUSHMARK(SP); XPUSHs(msg); PUTBACK; perl_call_sv((SV*)cv, G_DISCARD); - + POPSTACK(); LEAVE; return; } @@ -2352,13 +2348,13 @@ char *b; sv_setpv(tmpsv, "."); else sv_setpvn(tmpsv, a, fa - a); - if (Stat(SvPVX(tmpsv), &tmpstatbuf1) < 0) + if (PerlLIO_stat(SvPVX(tmpsv), &tmpstatbuf1) < 0) return FALSE; if (fb == b) sv_setpv(tmpsv, "."); else sv_setpvn(tmpsv, b, fb - b); - if (Stat(SvPVX(tmpsv), &tmpstatbuf2) < 0) + if (PerlLIO_stat(SvPVX(tmpsv), &tmpstatbuf2) < 0) return FALSE; return tmpstatbuf1.st_dev == tmpstatbuf2.st_dev && tmpstatbuf1.st_ino == tmpstatbuf2.st_ino; diff --git a/utils/h2xs.PL b/utils/h2xs.PL index b736e410ea..800329103a 100644 --- a/utils/h2xs.PL +++ b/utils/h2xs.PL @@ -39,19 +39,19 @@ h2xs - convert .h C header files to Perl extensions =head1 SYNOPSIS -B<h2xs> [B<-AOPXcdf>] [B<-v> version] [B<-n> module_name] [B<-p> prefix] [B<-s> sub] [headerfile [extra_libraries]] +B<h2xs> [B<-AOPXcdf>] [B<-v> version] [B<-n> module_name] [B<-p> prefix] [B<-s> sub] [headerfile ... [extra_libraries]] B<h2xs> B<-h> =head1 DESCRIPTION -I<h2xs> builds a Perl extension from any C header file. The extension will -include functions which can be used to retrieve the value of any #define -statement which was in the C header. +I<h2xs> builds a Perl extension from C header files. The extension +will include functions which can be used to retrieve the value of any +#define statement which was in the C header files. The I<module_name> will be used for the name of the extension. If -module_name is not supplied then the name of the header file will be used, -with the first character capitalized. +module_name is not supplied then the name of the first header file +will be used, with the first character capitalized. If the extension might need extra libraries, they should be included here. The extension Makefile.PL will take care of checking whether @@ -249,15 +249,21 @@ if( $opt_v ){ $opt_c = 1 if $opt_A; %const_xsub = map { $_,1 } split(/,+/, $opt_s) if $opt_s; -$path_h = shift; -$extralibs = "@ARGV"; +while (my $arg = shift) { + if ($arg =~ /^-l/i) { + $extralibs = "$arg @ARGV"; + last; + } + push(@path_h, $arg); +} usage "Must supply header file or module name\n" - unless ($path_h or $opt_n); + unless (@path_h or $opt_n); -if( $path_h ){ - $name = $path_h; +if( @path_h ){ + foreach my $path_h (@path_h) { + $name ||= $path_h; if( $path_h =~ s#::#/#g && $opt_n ){ warn "Nesting of headerfile ignored with -n\n"; } @@ -288,7 +294,7 @@ if( $path_h ){ die "Can't find $path_h\n" if ( ! $opt_f && ! -f $path_h ); # Scan the header file (we should deal with nested header files) # Record the names of simple #define constants into const_names - # Function prototypes are not (currently) processed. + # Function prototypes are processed below. open(CH, "<$path_h") || die "Can't open $path_h: $!\n"; while (<CH>) { if (/^#[ \t]*define\s+([\$\w]+)\b\s*[^("]/) { @@ -307,8 +313,9 @@ if( $path_h ){ } } close(CH); - @const_names = sort keys %const_names; } + } + @const_names = sort keys %const_names; } @@ -365,7 +372,8 @@ if( ! $opt_X ){ # use XS, unless it was disabled get_typemap(); my $c; my $filter; - my $filename = $path_h; + my @fdecls; + foreach my $filename (@path_h) { my $addflags = $opt_F || ''; if ($fullpath =~ /,/) { $filename = $`; @@ -377,7 +385,9 @@ if( ! $opt_X ){ # use XS, unless it was disabled $c->set('includeDirs' => ["$Config::Config{archlib}/CORE"]); $fdecls_parsed = $c->get('parsed_fdecls'); - $fdecls = $c->get('fdecls'); + push(@fdecls, @{$c->get('fdecls')}); + } + $fdecls = [ @fdecls ]; } } @@ -589,14 +599,14 @@ extern "C" { #endif END -if( $path_h ){ +if( @path_h ){ + foreach my $path_h (@path_h) { my($h) = $path_h; $h =~ s#^/usr/include/##; if ($^O eq 'VMS') { $h =~ s#.*vms\]#sys/# or $h =~ s#.*[:>\]]##; } -print XS <<"END"; -#include <$h> - -END + print XS qq{#include <$h>\n}; + } + print XS "\n"; } if( ! $opt_c ){ diff --git a/utils/perldoc.PL b/utils/perldoc.PL index 53219a7a94..3a6059b4fd 100644 --- a/utils/perldoc.PL +++ b/utils/perldoc.PL @@ -206,7 +206,11 @@ sub minus_f_nocase { sub check_file { my($file) = @_; - return minus_f_nocase($file) && containspod($file) ? $file : ""; + if ($opt_m) { + return minus_f_nocase($file) ? $file : ""; + } else { + return minus_f_nocase($file) && containspod($file) ? $file : ""; + } } @@ -284,6 +288,7 @@ foreach (@pages) { for ($i = 0; $trn = $ENV{'DCL$PATH'.$i}; $i++) { push(@searchdirs,$trn); } + push(@dirs,'perl_root:[lib.pod]') # installed pods } else { push(@searchdirs, grep(-d, split($Config{path_sep}, $ENV{'PATH'}))); diff --git a/vms/config.vms b/vms/config.vms index 0320012c72..35abbdb00f 100644 --- a/vms/config.vms +++ b/vms/config.vms @@ -8,11 +8,11 @@ * GenConfig.pl when producing Config.pm. * * config.h for VMS - * Version: 5.004 + * Version: 5.005 */ -/* Configuration time: 19-Nov-1996 23:34 - * Configured by: Charles Bailey bailey@genetics.upenn.edu +/* Configuration time: 7-Mar-1998 16:30 + * Configured by: Charles Bailey bailey@newman.upenn.edu * Target system: VMS */ @@ -76,7 +76,7 @@ * when Perl is built. Please do not change it by hand; make * any changes to FndVers.Com instead. */ -#define ARCHLIB_EXP "/perl_root/lib/VMS_VAX/5_00456" /**/ +#define ARCHLIB_EXP "/perl_root/lib/VMS_VAX/5_00463" /**/ #define ARCHLIB ARCHLIB_EXP /*config-skip*/ @@ -89,12 +89,6 @@ */ #define ARCHNAME "VMS_VAX" /**/ -/* BINCOMPAT3: - * This symbol, if defined, indicates that Perl 5.004 should be - * binary-compatible with Perl 5.003. - */ -#undef BINCOMPAT3 - /* CPPSTDIN: * This symbol contains the first part of the string which will invoke * the C preprocessor on the standard input and produce to standard @@ -183,6 +177,7 @@ * This symbol, if defined, indicates that the C-shell exists. * If defined, contains the full pathname of csh. */ +#undef HAS_CSH /**/ #undef CSH /**/ /* HAS_DUP2: @@ -240,7 +235,7 @@ * The type "Timeval" should be used to refer to "struct timeval". */ #if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000) -#define HAS_GETTIMEOFDAY /**/ +#define HAS_GETTIMEOFDAY /*config-skip*/ #else #undef HAS_GETTIMEOFDAY /*config-skip*/ #endif @@ -248,6 +243,26 @@ # define Timeval struct timeval /*config-skip*/ #endif +/* HAS_LONG_DOUBLE: + * This symbol will be defined if the C compiler supports long + * doubles. + */ +/* 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. + */ +#undef HAS_LONG_DOUBLE /**/ +#ifdef HAS_LONG_DOUBLE +# define LONG_DOUBLESIZE 8 /**/ +#endif + +/* HAS_MKSTEMP: + * This symbol, if defined, indicates that the mkstemp routine is + * available to create and open a unique temporary file. + */ +#undef HAS_MKSTEMP /**/ + /* HAS_GETGROUPS: * This symbol, if defined, indicates that the getgroups() routine is * available to get the list of process groups. If unavailable, multiple @@ -267,7 +282,7 @@ * and PHOSTNAME. */ #if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000) -#define HAS_UNAME /**/ +#define HAS_UNAME /*config-skip*/ #else #undef HAS_UNAME /*config-skip*/ #endif @@ -377,16 +392,16 @@ /* HAS_PTHREAD_YIELD: * This symbol, if defined, indicates that the pthread_yield routine is * available to yield the execution of the current thread. - * VMS: pthread_yield_np is there, but we won't worry for now since it's - * set up already as sched_yield. + * VMS: pthread_yield_np is there, so just set up the alias */ -#undef HAS_PTHREAD_YIELD /**/ +#define HAS_PTHREAD_YIELD /**/ +#define pthread_yield pthread_yield_np /*config-skip*/ -/* HAS_SCHED_YIELD: - * This symbol, if defined, indicates that the sched_yield routine is - * available to yield the execution of the current thread. +/* OLD_PTHREADS_API: + * This symbol, if defined, indicates that Perl should + * be built to use the old draft POSIX threads API. */ -#define HAS_SCHED_YIELD /**/ +#undef OLD_PTHREADS_API /**/ /* HAS_READDIR: * This symbol, if defined, indicates that the readdir routine is @@ -655,7 +670,7 @@ * available to truncate files. */ #if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000) -#define HAS_TRUNCATE /**/ +#define HAS_TRUNCATE /*config-skip*/ #else #undef HAS_TRUNCATE /*config-skip*/ #endif @@ -701,7 +716,7 @@ * This symbol, if defined, indicates that wait4() exists. */ #if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000) -#define HAS_WAIT4 /**/ +#define HAS_WAIT4 /*config-skip*/ #else #undef HAS_WAIT4 /*config-skip*/ #endif @@ -971,6 +986,17 @@ */ #undef I_VFORK /**/ +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#if defined(__DECC) && defined(__DECC_VER) && (__DECC_VER >= 500000) +# define Pid_t pid_t /* config-skip */ +#else +# define Pid_t int /* config-skip */ +#endif + /* CAN_PROTOTYPE: * If defined, this macro indicates that the C compiler can handle * function prototypes. @@ -1202,7 +1228,7 @@ */ #define HAS_STRCHR /**/ #if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000) -#define HAS_INDEX /**/ +#define HAS_INDEX /*config-skip*/ #else #undef HAS_INDEX /*config-skip*/ #endif @@ -1325,6 +1351,10 @@ */ #define I_MATH /**/ +/* DOUBLESIZE: + * This symbol contains the size of a double, so that the C preprocessor + * can make decisions based on it. + */ /* INTSIZE: * This symbol contains the size of an int, so that the C preprocessor * can make decisions based on it. @@ -1337,9 +1367,18 @@ * This symbol contains the value of sizeof(short) so that the C * preprocessor can make decisions based on it. */ +/* 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 *). + * VMS: Use 32-bit pointers everywhere for now 7-Mar-1998 + */ +#define DOUBLESIZE 8 /**/ #define INTSIZE 4 /**/ #define LONGSIZE 4 /**/ #define SHORTSIZE 2 /**/ +#define PTRSIZE 4 /**/ /* Off_t: * This symbol holds the type used to declare offsets in the kernel. @@ -1467,26 +1506,6 @@ #undef RD_NODATA #undef EOF_NONBLOCK -/* OLDARCHLIB: - * This variable, if defined, holds the name of the directory in - * which the user has perl5.000 or perl5.001 architecture-dependent - * public library files for $package. For the most part, these - * files will work with 5.002 (and later), but that is not - * guaranteed. - */ -/* OLDARCHLIB_EXP: - * This symbol contains the ~name expanded version of OLDARCHLIB, to be - * used in programs that are not prepared to deal with ~ expansion at - * run-time. - */ -/* ==> NOTE <== - * This value is automatically updated by FndVers.Com - * when Perl is built. Please do not change it by hand; make - * any changes to FndVers.Com instead. - */ -#define OLDARCHLIB_EXP "/perl_root/lib/VMS_VAX" /**/ -#define OLDARCHLIB OLDARCHLIB_EXP /*config-skip*/ - /* PRIVLIB: * 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 @@ -1610,6 +1629,12 @@ */ #undef HAS_INET_ATON /**/ +/* HAS_GNULIBC: + * This symbol, if defined, indicates to the C program that + * the GNU C library is being used. + */ +#undef HAS_GNULIBC /**/ + /* HAS_ISASCII: * This manifest constant lets the C program know that the * isascii is available. @@ -1655,8 +1680,8 @@ * with a given open file descriptor. */ #if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000) -#define HAS_PATHCONF /**/ -#define HAS_FPATHCONF /**/ +#define HAS_PATHCONF /*config-skip*/ +#define HAS_FPATHCONF /*config-skip*/ #else #undef HAS_PATHCONF /*config-skip*/ #undef HAS_FPATHCONF /*config-skip*/ @@ -1694,14 +1719,8 @@ * arguments whereas USG one needs none. See also HAS_SETPGID * for a POSIX interface. */ -/* USE_BSDPGRP: - * This symbol, if defined, indicates that the BSD notion of process - * group is to be used. For instance, you have to say setpgrp(pid, pgrp) - * instead of the USG setpgrp(). - */ #undef HAS_SETPGRP /**/ #undef USE_BSD_SETPGRP /**/ -#undef USE_BSDPGRP /**/ /* HAS_SETPGID: * This symbol, if defined, indicates that the setpgid routine is @@ -1720,7 +1739,7 @@ * to determine system related limits and options. */ #if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000) -#define HAS_SYSCONF /**/ +#define HAS_SYSCONF /*config-skip*/ #else #undef HAS_SYSCONF /*config-skip*/ #endif @@ -1790,7 +1809,7 @@ * traditional longjmp() if siglongjmp isn't available. */ #if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000) -#define HAS_SIGSETJMP /**/ +#define HAS_SIGSETJMP /*config-skip*/ #else #undef HAS_SIGSETJMP /*config-skip*/ #endif @@ -1849,6 +1868,13 @@ */ #undef USE_PERLIO /**/ +/* HAS_SETVBUF: + * This symbol, if defined, indicates that the setvbuf routine is + * available to change buffering on an open stdio stream. + * to a line-buffered mode. + */ +#define HAS_SETVBUF /**/ + /* VOIDFLAGS: * This symbol indicates how much support of the void type is given by this * compiler. What various bits mean: @@ -1894,27 +1920,38 @@ /* HAS_GETHOSTBYADDR: * This symbol, if defined, indicates that the gethostbyaddr routine is - * available to lookup hosts by their IP addresses. + * available to lookup host names by their IP addresses. */ -#define HAS_GETHOSTBYADDR /**/ +#define HAS_GETHOSTBYADDR /**/ /* config-skip */ /* Netdb_host_t: * This symbol holds the type used for the 1st argument * to gethostbyaddr(). */ -#define Netdb_host_t char * /**/ +#define Netdb_host_t char * /**/ /* config-skip */ /* Netdb_hlen_t: * This symbol holds the type used for the 2nd argument * to gethostbyaddr(). */ -#define Netdb_hlen_t int +#define Netdb_hlen_t int /**/ /* config-skip */ + +/* 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. + */ +#define HAS_GETPROTOBYNAME /*config-skip*/ +#define HAS_GETPROTOBYNUMBER /*config-skip*/ /* HAS_GETHOSTBYNAME: * This symbol, if defined, indicates that the gethostbyname routine is * available to lookup hosts by their DNS names. */ -#define HAS_GETHOSTBYNAME /**/ +#define HAS_GETHOSTBYNAME /*config-skip*/ /* Netdb_name_t: * This symbol holds the type used for the 1st argument @@ -1923,55 +1960,80 @@ * getservbyname(), the 2nd argument to getservbyname(), * and the 2nd argument to getservbyport(). */ -#define Netdb_name_t long /**/ +#define Netdb_name_t char * -/* HAS_GETNETBYADD: +#ifdef DECCRTL_SOCKETS +/* HAS_GETNETBYADDR: * This symbol, if defined, indicates that the getnetbyaddr routine is * available to lookup networks by their IP addresses. */ -#define HAS_GETNETBYADD /**/ +#define HAS_GETNETBYADDR /**/ /* config-skip */ /* Netdb_net_t: * This symbol holds the type used for the 1st argument * to getnetbyaddr(). */ -#define Netdb_net_t long +#define Netdb_net_t long /**/ /* config-skip */ -/* HAS_GETHBADD: - * This symbol, if defined, indicates that the gethostbyaddr routine is - * available to lookup host names by their IP addresses. +/* HAS_GETNETBYNAME: + * This symbol, if defined, indicates that the getnetbyname routine is + * available to lookup networks by their names. */ -#define HAS_GETHBADD /**/ /* config-skip */ +#define HAS_GETNETBYNAME /*config-skip*/ -/* Gethbadd_addr_t: - * This symbol holds the type used for the 1st argument - * to gethostbyaddr(). - */ -#define Gethbadd_addr_t char * /**/ /* config-skip */ - -/* Gethbadd_alen_t: - * This symbol holds the type used for the 2nd argument - * to gethostbyaddr(). +/* HAS_GETNETENT: + * This symbol, if defined, indicates that the getnetent() routine is + * available to look up network names in some data base or another. */ -#define Gethbadd_alen_t int /**/ /* config-skip */ +#define HAS_GETNETENT /*config-skip*/ -#ifdef DECCRTL_SOCKETS -/* HAS_GETNBADD: - * This symbol, if defined, indicates that the getnetbyaddr routine is - * available to lookup networks by their IP addresses. +/* HAS_SETNETENT: + * This symbol, if defined, indicates that the setnetent() routine is + * available. */ -#define HAS_GETNBADD /**/ /* config-skip */ +#define HAS_SETNETENT /*config-skip*/ -/* Gethbadd_net_t: - * This symbol holds the type used for the 1st argument - * to getnetbyaddr(). +/* HAS_ENDNETENT: + * This symbol, if defined, indicates that the endnetent() routine is + * available to close whatever was being used for network queries. */ -#define Getnbadd_net_t long /**/ /* config-skip */ +#define HAS_ENDNETENT /*config-skip*/ #else -#undef HAS_GETNBADD /**/ /* config-skip */ -#undef Getnbadd_net_t long /**/ /* config-skip */ +#undef HAS_GETNETBYADDR /*config-skip*/ +#undef HAS_GETNETBYNAME /*config-skip*/ +#undef HAS_GETNETENT /*config-skip*/ +#undef HAS_SETNETENT /*config-skip*/ +#undef HAS_ENDNETENT /*config-skip*/ #endif +/* HAS_GETPROTOBYNAME: + * This symbol, if defined, indicates that the getprotobyname routine is + * available to lookup protocols by their names. + */ +/* HAS_GETPROTOBYNUMBER: + * This symbol, if defined, indicates that the getprotobynumber() + * routine is available to look up protocols by their number. + */ +#define HAS_GETPROTOBYNAME /*config-skip*/ +#define HAS_GETPROTOBYNUMBER /*config-skip*/ + +/* HAS_GETSERVBYNAME: + * This symbol, if defined, indicates that the getservbyname() + * routine is available to look up services by their name. + */ +/* HAS_GETSERVBYPORT: + * This symbol, if defined, indicates that the getservbyport() + * routine is available to look up services by their port. + */ +#define HAS_GETSERVBYNAME /*config-skip*/ +#define HAS_GETSERVBYPORT /*config-skip*/ + +/* HAS_SETHOSTENT: + * This symbol, if defined, indicates that the sethostent() routine is + * available. + */ +#define HAS_SETHOSTENT /*config-skip*/ + /* VMS: In general, TCP/IP header files should be included from * sockadapt.h, instead of here, in order to keep the TCP/IP code * together as much as possible. @@ -2001,17 +2063,76 @@ */ #define HAS_SELECT /**/ /* config-skip */ +/* HAS_ENDHOSTENT: + * This symbol, if defined, indicates that the endhostent() routine is + * available to close whatever was being used for host queries. + */ +#define HAS_ENDHOSTENT /*config-skip*/ + +/* HAS_GETPROTOENT: + * This symbol, if defined, indicates that the getprotoent() routine is + * available to look up protocols in some data base or another. + */ +#define HAS_GETPROTOENT /*config-skip*/ + +/* HAS_ENDPROTOENT: + * This symbol, if defined, indicates that the endprotoent() routine is + * available to close whatever was being used for protocol queries. + */ +#define HAS_ENDPROTOENT /*config-skip*/ + +/* HAS_SETPROTOENT: + * This symbol, if defined, indicates that the setprotoent() routine is + * available. + */ +#define HAS_SETPROTOENT /*config-skip*/ + +/* 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 /*config-skip*/ + +/* HAS_SETSERVENT: + * This symbol, if defined, indicates that the setservent() routine is + * available. + */ +#define HAS_SETSERVENT /*config-skip*/ + +/* HAS_ENDSERVENT: + * This symbol, if defined, indicates that the endservent() routine is + * available to close whatever was being used for service queries. + */ +#define HAS_ENDSERVENT /*config-skip*/ + #else /* VMS_DO_SOCKETS */ -#undef HAS_SOCKET /**/ /* config-skip */ -#undef HAS_SOCKETPAIR /**/ /* config-skip */ -#undef HAS_GETHOSTENT /**/ /* config-skip */ -#undef I_NETINET_IN /**/ /* config-skip */ -#undef I_NETDB /**/ /* config-skip */ -#undef I_NET_ERRNO /**/ /* config-skip */ -#undef HAS_SELECT /**/ /* config-skip */ -#undef HAS_GETHBADD /**/ /* config-skip */ -#undef HAS_GETNBADD /**/ /* config-skip */ +#undef HAS_SOCKET /*config-skip*/ +#undef HAS_SOCKETPAIR /*config-skip*/ +#undef HAS_GETHOSTENT /*config-skip*/ +#undef HAS_SETHOSTENT /*config-skip*/ +#undef I_NETINET_IN /*config-skip*/ +#undef I_NETDB /*config-skip*/ +#undef I_NET_ERRNO /*config-skip*/ +#undef HAS_SELECT /*config-skip*/ +#undef HAS_GETHOSTBYADDR /*config-skip*/ +#undef HAS_GETNETBYADDR /*config-skip*/ +#undef HAS_GETNETENT /*config-skip*/ +#undef HAS_SETNETENT /*config-skip*/ +#undef HAS_ENDNETENT /*config-skip*/ +#undef HAS_GETHOSTBYNAME /*config-skip*/ +#undef HAS_GETNETBYNAME /*config-skip*/ +#undef HAS_GETPROTOBYNAME /*config-skip*/ +#undef HAS_GETPROTOBYNUMBER /*config-skip*/ +#undef HAS_GETSERVBYNAME /*config-skip*/ +#undef HAS_GETSERVBYPORT /*config-skip*/ +#undef HAS_ENDHOSTENT /*config-skip*/ +#undef HAS_GETPROTOENT /*config-skip*/ +#undef HAS_SETPROTOENT /*config-skip*/ +#undef HAS_ENDPROTOENT /*config-skip*/ +#undef HAS_GETSERVENT /*config-skip*/ +#undef HAS_SETSERVENT /*config-skip*/ +#undef HAS_ENDSERVENT /*config-skip*/ #endif /* !VMS_DO_SOCKETS */ diff --git a/vms/descrip.mms b/vms/descrip.mms index 5f055091b0..00a5c0b425 100644 --- a/vms/descrip.mms +++ b/vms/descrip.mms @@ -1,5 +1,5 @@ # Descrip.MMS for perl5 on VMS -# Last revised 23-Dec-1997 by Charles Bailey bailey@genetics.upenn.edu +# Last revised 27-Feb-1998 by Charles Bailey bailey@genetics.upenn.edu # #: This file uses MMS syntax, and can be processed using DEC's MMS product, #: or the free MMK clone (available by ftp at ftp.spc.edu). If you want to @@ -74,7 +74,7 @@ OBJVAL = $(MMS$TARGET_NAME)$(O) .endif # Updated by fndvers.com -- do not edit by hand -PERL_VERSION = 5_00460# +PERL_VERSION = 5_00463# .ifdef DECC_SOCKETS SOCKET=1 @@ -274,22 +274,22 @@ extobj = $(myextobj) #### End of system configuration section. #### -h1 = EXTERN.h, INTERN.h, XSUB.h, av.h, config.h, cop.h, cv.h +h1 = EXTERN.h, INTERN.h, XSUB.h, av.h, bytecode.h, byterun.h, config.h, cop.h, cv.h h2 = embed.h, form.h, gv.h, handy.h, hv.h, keywords.h, mg.h, op.h, thread.h h3 = opcode.h, patchlevel.h, perl.h, perly.h, pp.h, proto.h, regcomp.h h4 = regexp.h, scope.h, sv.h, vmsish.h, util.h, perlio.h, perlsdio.h -h5 = embedvar.h, intrpvar.h, perlvars.h, thrdvar.h +h5 = embedvar.h, intrpvar.h, perlvars.h, thrdvar.h, atomic.h h = $(h1), $(h2), $(h3), $(h4), $(h5) $(SOCKHLIS) $(THREADH) c1 = av.c, scope.c, op.c, doop.c, doio.c, dump.c, hv.c, mg.c, universal.c, perlio.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, globals.c, vms.c $(SOCKCLIS) +c3 = gv.c, sv.c, taint.c, toke.c, util.c, deb.c, run.c, globals.c, vms.c, byterun.c $(SOCKCLIS) -c = $(c1), $(c2), $(c3), miniperlmain.c, perlmain.c +c = $(c1), $(c2), $(c3), miniperlmain.c, perlmain.c, byteperl.c obj1 = perl$(O), gv$(O), toke$(O), perly$(O), op$(O), regcomp$(O), dump$(O), util$(O), mg$(O), perlio$(O) obj2 = hv$(O), av$(O), run$(O), pp_hot$(O), sv$(O), pp$(O), scope$(O), pp_ctl$(O), pp_sys$(O) -obj3 = doop$(O), doio$(O), regexec$(O), taint$(O), deb$(O), universal$(O), globals$(O), vms$(O) $(SOCKOBJ) +obj3 = doop$(O), doio$(O), regexec$(O), taint$(O), deb$(O), universal$(O), globals$(O), vms$(O), byterun$(O) $(SOCKOBJ) obj = $(obj1), $(obj2), $(obj3) @@ -298,11 +298,13 @@ ac2 = $(ARCHCORE)config.h $(ARCHCORE)cop.h $(ARCHCORE)cv.h $(ARCHCORE)embed.h ac3 = $(ARCHCORE)form.h $(ARCHCORE)gv.h $(ARCHCORE)handy.h $(ARCHCORE)hv.h ac4 = $(ARCHCORE)keywords.h $(ARCHCORE)mg.h $(ARCHCORE)op.h $(ARCHCORE)opcode.h ac5 = $(ARCHCORE)patchlevel.h $(ARCHCORE)perl.h $(ARCHCORE)perly.h $(ARCHCORE)thread.h -ac6 = $(ARCHCORE)pp.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h $(ARCHCORE)perlio.h $(ARCHCORE)perlsdio.h -ac7 = $(ARCHCORE)regexp.h $(ARCHCORE)scope.h $(ARCHCORE)sv.h $(ARCHCORE)util.h -ac8 = $(ARCHCORE)embedvar.h $(ARCHCORE)intrpvar.h $(ARCHCORE)perlvars.h $(ARCHCORE)thrdvar.h -ac9 = $(ARCHCORE)vmsish.h $(ARCHCORE)$(DBG)libperl$(OLB) $(ARCHCORE)perlshr_attr.opt -ac10 = $(ARCHCORE)$(DBG)perlshr_bld.opt +ac6 = $(ARCHCORE)perldir.h $(ARCHCORE)perlenv.h $(ARCHCORE)perllio.h $(ARCHCORE)atomic.h +ac7 = $(ARCHCORE)perlmem.h $(ARCHCORE)perlproc.h $(ARCHCORE)perlsock.h +ac8 = $(ARCHCORE)pp.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h $(ARCHCORE)perlio.h $(ARCHCORE)perlsdio.h +ac9 = $(ARCHCORE)regexp.h $(ARCHCORE)scope.h $(ARCHCORE)sv.h $(ARCHCORE)util.h +ac10 = $(ARCHCORE)embedvar.h $(ARCHCORE)intrpvar.h $(ARCHCORE)perlvars.h $(ARCHCORE)thrdvar.h +ac11 = $(ARCHCORE)vmsish.h $(ARCHCORE)$(DBG)libperl$(OLB) $(ARCHCORE)perlshr_attr.opt +ac12 = $(ARCHCORE)$(DBG)perlshr_bld.opt $(ARCHCORE)bytecode.h $(ARCHCORE)byterun.h .ifdef SOCKET acs = $(ARCHCORE)$(SOCKH) .else @@ -345,7 +347,7 @@ all : base extras x2p archcorefiles preplibrary perlpods .endif base : miniperl perl @ $(NOOP) -extras : Fcntl IO Opcode attrs $(POSIX) $(THREAD) SDBM_File libmods utils podxform +extras : Fcntl IO Opcode attrs B $(POSIX) $(THREAD) SDBM_File libmods utils podxform @ $(NOOP) libmods : $(LIBPREREQ) @ $(NOOP) @@ -368,15 +370,15 @@ pod8 = [.lib.pod]perltrap.pod [.lib.pod]perlvar.pod [.lib.pod]perlxs.pod [.lib.p perlpods : $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) [.lib.pod]perlvms.pod @ $(NOOP) -archcorefiles : $(ac1) $(ac2) $(ac3) $(ac4) $(ac5) $(ac6) $(ac7) $(ac8) $(ac9) $(ac10) $(acs) $(acth) $(ARCHAUTO)time.stamp +archcorefiles : $(ac1) $(ac2) $(ac3) $(ac4) $(ac5) $(ac6) $(ac7) $(ac8) $(ac9) $(ac10) $(ac11) $(ac12) $(acs) $(acth) $(ARCHAUTO)time.stamp @ $(NOOP) miniperl : $(DBG)miniperl$(E) @ Continue $(MINIPERL_EXE) : miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL) - Link $(LINKFLAGS)/NoDebug/NoMap/NoFull/NoCross/Exe=$(MMS$TARGET) miniperlmain$(O), $(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS) + Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoFull/NoCross/Exe=$(MMS$TARGET) miniperlmain$(O), $(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS) $(DBG)miniperl$(E) : miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL) - Link $(LINKFLAGS)/Exe=$(MMS$TARGET) miniperlmain$(O),$(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS) + Link $(LINKFLAGS)/Trace/Exe=$(MMS$TARGET) miniperlmain$(O),$(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS) $(DBG)libperl$(OLB) : $(obj) @ If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET) @@ -387,15 +389,26 @@ $(DBG)libperl$(OLB) : $(obj) perlmain.c : miniperlmain.c $(MINIPERL_EXE) [.vms]writemain.pl $(MINIPERL) [.VMS]Writemain.pl "$(EXT)" -perl : $(DBG)perl$(E) +byteperl.c : [.ext.B]byteperl.c + Copy/Log $(MMS$SOURCE) $(MMS$TARGET) + +.ifdef __DEBUG__ +# Link an extra perl that doesn't invoke the debugger +perl : $(DBG)perl$(E) $(DBG)byteperl$(E) + Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoCross/NoFull/Exe=N$(DBG)perl$(E) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS) + Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoCross/NoFull/Exe=N$(DBG)byteperl$(E) byteperl$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS) +.else +perl : $(DBG)perl$(E) $(DBG)byteperl$(E) @ Continue +.endif + $(DBG)perl$(E) : perlmain$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE) @ @[.vms]genopt "PerlShr.Opt/Write" "|" "''F$Environment("Default")'$(DBG)PerlShr$(E)/Share" -.ifdef gnuc - Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option, crtl.opt/Option -.else - Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option -.endif + Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS) + +$(DBG)byteperl$(E) : byteperl$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE) + @ @[.vms]genopt "PerlShr.Opt/Write" "|" "''F$Environment("Default")'$(DBG)PerlShr$(E)/Share" + Link $(LINKFLAGS)/Exe=$(MMS$TARGET) byteperl$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS) $(DBG)perlshr$(E) : $(DBG)libperl$(OLB) $(extobj) $(DBG)perlshr_xtras.ts Link $(LINKFLAGS)/Share=$(MMS$TARGET) $(extobj) []$(DBG)perlshr_bld.opt/Option, perlshr_attr.opt/Option @@ -433,7 +446,7 @@ $(ARCHDIR)config.pm : [.lib]config.pm # Once again, we accomodate DCL's 255 character buffer [.lib]config.pm : [.vms]config.vms [.vms]genconfig.pl $(MINIPERL_EXE) @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "cc=$(CC)$(CFLAGS)" >genconfig.opt - @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "ldflags=$(LINKFLAGS)|obj_ext=$(O)|exe_ext=$(E)|lib_ext=$(OLB)" >>genconfig.opt + @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "ldflags=$(LINKFLAGS)|obj_ext=$(O)|exe_ext=$(E)|lib_ext=$(OLB)|dbgprefix=$(DBG)" >>genconfig.opt $(MINIPERL) [.VMS]GenConfig.Pl -f genconfig.opt @ Delete/NoLog/NoConfirm genconfig.opt; $(MINIPERL) ConfigPM. @@ -616,6 +629,7 @@ IO : [.lib]IO.pm [.lib.IO]File.pm [.lib.IO]Handle.pm [.lib.IO]Pipe.pm [.lib.IO]S @ Set Default [--] [.lib.auto.IO]IO$(E) : [.ext.IO]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] @ Set Default [.ext.IO] $(MMS) @ Set Default [--] @@ -625,6 +639,116 @@ IO : [.lib]IO.pm [.lib.IO]File.pm [.lib.IO]Handle.pm [.lib.IO]Pipe.pm [.lib.IO]S [.ext.IO]Descrip.MMS : [.ext.IO]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E) $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.IO]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]" +B : [.lib]B.pm [.lib]O.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.auto.B]B$(E) + @ $(NOOP) + +[.lib]B.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib]O.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.B]Asmdata.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.B]Assembler.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.B]Bblock.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.B]Bytecode.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.B]C.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.B]CC.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.B]Debug.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.B]Deparse.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.B]Disassembler.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.B]Lint.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.B]Showlex.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.B]Stackobj.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.B]Terse.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.B]Xref.pm : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +[.lib.auto.B]B$(E) : [.ext.B]Descrip.MMS + @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto] + @ Set Default [.ext.B] + $(MMS) + @ Set Default [--] + +# Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir> +# ${@} necessary to distract different versions of MM[SK]/make +[.ext.B]Descrip.MMS : [.ext.B]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E) + $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.B]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]" + [.lib]vmsish.pm : [.vms.ext]vmsish.pm Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET) @@ -966,6 +1090,15 @@ $(ARCHCORE)INTERN.h : INTERN.h $(ARCHCORE)XSUB.h : XSUB.h @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) Copy/Log $(MMS$SOURCE) $(MMS$TARGET) +$(ARCHCORE)bytecode.h : bytecode.h + @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) + Copy/Log $(MMS$SOURCE) $(MMS$TARGET) +$(ARCHCORE)byterun.h : byterun.h + @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) + Copy/Log $(MMS$SOURCE) $(MMS$TARGET) +$(ARCHCORE)atomic.h : atomic.h + @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) + Copy/Log $(MMS$SOURCE) $(MMS$TARGET) $(ARCHCORE)av.h : av.h @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) Copy/Log $(MMS$SOURCE) $(MMS$TARGET) @@ -1022,12 +1155,30 @@ $(ARCHCORE)patchlevel.h : patchlevel.h $(ARCHCORE)perl.h : perl.h @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) Copy/Log $(MMS$SOURCE) $(MMS$TARGET) +$(ARCHCORE)perldir.h : perldir.h + @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) + Copy/Log $(MMS$SOURCE) $(MMS$TARGET) +$(ARCHCORE)perlenv.h : perlenv.h + @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) + Copy/Log $(MMS$SOURCE) $(MMS$TARGET) $(ARCHCORE)perlio.h : perlio.h @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) Copy/Log $(MMS$SOURCE) $(MMS$TARGET) +$(ARCHCORE)perllio.h : perllio.h + @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) + Copy/Log $(MMS$SOURCE) $(MMS$TARGET) +$(ARCHCORE)perlmem.h : perlmem.h + @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) + Copy/Log $(MMS$SOURCE) $(MMS$TARGET) +$(ARCHCORE)perlproc.h : perlproc.h + @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) + Copy/Log $(MMS$SOURCE) $(MMS$TARGET) $(ARCHCORE)perlsdio.h : perlsdio.h @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) Copy/Log $(MMS$SOURCE) $(MMS$TARGET) +$(ARCHCORE)perlsock.h : perlsock.h + @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) + Copy/Log $(MMS$SOURCE) $(MMS$TARGET) $(ARCHCORE)perlvars.h : perlvars.h @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) Copy/Log $(MMS$SOURCE) $(MMS$TARGET) @@ -1089,41 +1240,44 @@ $(ARCHAUTO)time.stamp : util$(O) : util.c $(CC) $(CFLAGS) util.c # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE -av$(O) : av.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -deb$(O) : deb.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -doio$(O) : doio.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -doop$(O) : doop.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -dump$(O) : dump.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -globals$(O) : globals.c INTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -gv$(O) : gv.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -hv$(O) : hv.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -malloc$(O) : malloc.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -mg$(O) : mg.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -miniperlmain$(O) : miniperlmain.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -op$(O) : op.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -perl$(O) : perl.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h patchlevel.h -perlio$(O) : perlio.c config.h EXTERN.h perl.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -perlmain$(O) : perlmain.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -perly$(O) : perly.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -pp$(O) : pp.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -pp_ctl$(O) : pp_ctl.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -pp_hot$(O) : pp_hot.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -pp_sys$(O) : pp_sys.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -regcomp$(O) : regcomp.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h INTERN.h regcomp.h -regexec$(O) : regexec.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h regcomp.h -run$(O) : run.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -scope$(O) : scope.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -sv$(O) : sv.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -taint$(O) : taint.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -toke$(O) : toke.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h keywords.h -universal$(O) : universal.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h XSUB.h -util$(O) : util.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h -vms$(O) : vms.c EXTERN.h perl.h config.h embed.h perlio.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h XSUB.h +av$(O) : av.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +byterun$(O) : byterun.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +deb$(O) : deb.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +doio$(O) : doio.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +doop$(O) : doop.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +dump$(O) : dump.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +globals$(O) : globals.c INTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +gv$(O) : gv.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +hv$(O) : hv.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +malloc$(O) : malloc.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +mg$(O) : mg.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +miniperlmain$(O) : miniperlmain.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +op$(O) : op.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +perl$(O) : perl.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h patchlevel.h +perlio$(O) : perlio.c config.h EXTERN.h perl.h bytecode.h byterun.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +perlmain$(O) : perlmain.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +byteperl$(O) : byteperl.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +perly$(O) : perly.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +pp$(O) : pp.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +pp_ctl$(O) : pp_ctl.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +pp_hot$(O) : pp_hot.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +pp_sys$(O) : pp_sys.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +regcomp$(O) : regcomp.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h INTERN.h regcomp.h +regexec$(O) : regexec.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h regcomp.h +run$(O) : run.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +scope$(O) : scope.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +sv$(O) : sv.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +taint$(O) : taint.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +toke$(O) : toke.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h keywords.h +universal$(O) : universal.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h XSUB.h +util$(O) : util.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h +vms$(O) : vms.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlio.h perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h XSUB.h [.x2p]a2p$(O) : [.x2p]a2p.c [.x2p]a2py.c [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h config.h handy.h [.x2p]hash$(O) : [.x2p]hash.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h [.x2p]str$(O) : [.x2p]str.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h [.x2p]util$(O) : [.x2p]util.c [.x2p]EXTERN.h [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h [.x2p]walk$(O) : [.x2p]walk.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h +# End of automatically generated make dependencies .endif # !LINK_ONLY config.h : [.vms]config.vms @@ -1155,6 +1309,7 @@ tidy : cleanlis - If F$Search("VMSish.H;-1").nes."" Then Purge/NoConfirm/Log VMSish.H - If F$Search("VMS.C;-1") .nes."" Then Purge/NoConfirm/Log VMS.C - If F$Search("Perlmain.C;-1") .nes."" Then Purge/NoConfirm/Log Perlmain.C + - If F$Search("byteperl.C;-1") .nes."" Then Purge/NoConfirm/Log byteperl.C - If F$Search("Perlshr_Gbl*.Mar;-1") .nes."" Then Purge/NoConfirm/Log Perlshr_Gbl*.Mar - If F$Search("[.Ext.DynaLoader]DL_VMS$(O);-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O) - If F$Search("[.Ext.DynaLoader]DL_VMS.C;-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C @@ -1167,8 +1322,8 @@ tidy : cleanlis - If F$Search("[.Lib]Socket.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Socket.pm - If F$Search("[.Lib]Config.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Config.pm - If F$Search("$(ARCHDIR)Config.pm;-1").nes."" Then Purge/NoConfirm/Log $(ARCHDIR)Config.pm - - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm;* - - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm;* + - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm + - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm - If F$Search("[.Lib.VMS]*.*;-1").nes."" Then Purge/NoConfirm/Log [.Lib.VMS]*.* - If F$Search("[.Lib.Pod]*.Pod;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Pod]*.Pod - If F$Search("$(ARCHCORE)*.*").nes."" Then Purge/NoConfirm/Log $(ARCHCORE)*.* @@ -1187,6 +1342,17 @@ clean : tidy Set Default [.ext.Opcode] - $(MMS) clean Set Default [--] + Set Default [.ext.attrs] + - $(MMS) clean + Set Default [--] + Set Default [.ext.B] + - $(MMS) clean + Set Default [--] +.ifdef THREAD + Set Default [.ext.Thread] + - $(MMS) realclean + Set Default [--] +.endif .ifdef DECC Set Default [.ext.POSIX] - $(MMS) clean @@ -1206,6 +1372,7 @@ clean : tidy - If F$Search("VMSish.H").nes."" Then Delete/NoConfirm/Log VMSish.H;* - If F$Search("VMS.C") .nes."" Then Delete/NoConfirm/Log VMS.C;* - If F$Search("Perlmain.C") .nes."" Then Delete/NoConfirm/Log Perlmain.C;* + - If F$Search("byteperl.C") .nes."" Then Delete/NoConfirm/Log byteperl.C;* - If F$Search("Perlshr_Gbl*.Mar") .nes."" Then Delete/NoConfirm/Log Perlshr_Gbl*.Mar;* - If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;* - If F$Search("[.Ext.DynaLoader]DL_VMS$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O);* @@ -1228,6 +1395,9 @@ realclean : clean Set Default [.ext.attrs] - $(MMS) realclean Set Default [--] + Set Default [.ext.B] + - $(MMS) realclean + Set Default [--] .ifdef THREAD Set Default [.ext.Thread] - $(MMS) realclean diff --git a/vms/ext/Filespec.pm b/vms/ext/Filespec.pm index db3283c571..b0b1414599 100644 --- a/vms/ext/Filespec.pm +++ b/vms/ext/Filespec.pm @@ -12,7 +12,7 @@ VMS::Filespec - convert between VMS and Unix file specification syntax =head1 SYNOPSIS use VMS::Filespec; -$fullspec = rmsexpand('[.VMS]file.specification'); +$fullspec = rmsexpand('[.VMS]file.specification'[, 'default:[file.spec]']); $vmsspec = vmsify('/my/Unix/file/specification'); $unixspec = unixify('my:[VMS]file.specification'); $path = pathify('my:[VMS.or.Unix.directory]specification.dir'); @@ -65,9 +65,11 @@ The routines provided are: =head2 rmsexpand Uses the RMS $PARSE and $SEARCH services to expand the input -specification to its fully qualified form. (If the file does -not exist, the input specification is expanded as much as -possible.) If an error occurs, returns C<undef> and sets C<$!> +specification to its fully qualified form, except that a null type +or version is not added unless it was present in either the original +file specification or the default specification passed to C<rmsexpand>. +(If the file does not exist, the input specification is expanded as much +as possible.) If an error occurs, returns C<undef> and sets C<$!> and C<$^E>. =head2 vmsify diff --git a/vms/ext/Stdio/0README.txt b/vms/ext/Stdio/0README.txt index 28f82b3a14..25329f9334 100644 --- a/vms/ext/Stdio/0README.txt +++ b/vms/ext/Stdio/0README.txt @@ -3,26 +3,6 @@ VMS::Stdio, which provides access from Perl to VMS-specific stdio functions. For more specific documentation of its function, please see the pod section of Stdio.pm. - *** Please Note *** - -This package is the direct descendant of VMS::stdio, but as of Perl -5.002, the name has been changed to VMS::Stdio, in order to conform -to the Perl naming convention that extensions whose name begins -with a lowercase letter represent compile-time "pragmas", while -extensions which provide added functionality have names whose parts -begin with uppercase letters. In addition, the functions -vmsfopen and fgetname have been renamed vmsopen and getname, -respectively, in order to more closely resemble related Perl -I/O operators, which do not retain the 'f' from corresponding -C routine names. - -A transitional interface to the old routine names has been -provided, so that calls to these routines will generate a -warning, and be routed to the corresponding VMS::Stdio -routine. This interface will be removed in a future release, -so please update your code to use the new names. - - ===> Installation This extension, like most Perl extensions, should be installed @@ -45,3 +25,6 @@ the Perl distribution tree, and then saying 2.0 28-Feb-1996 Charles Bailey bailey@genetics.upenn.edu major rewrite for Perl 5.002: name changed to VMS::Stdio, new functions added, and prototypes incorporated +2.1 24-Mar-1998 Charles Bailey bailey@newman.upenn.edu + Added writeof() + Removed old VMs::stdio compatibility interface diff --git a/vms/ext/Stdio/Stdio.pm b/vms/ext/Stdio/Stdio.pm index 218c406fa4..ea5d9074ef 100644 --- a/vms/ext/Stdio/Stdio.pm +++ b/vms/ext/Stdio/Stdio.pm @@ -1,8 +1,8 @@ # VMS::Stdio - VMS extensions to Perl's stdio calls # # Author: Charles Bailey bailey@genetics.upenn.edu -# Version: 2.02 -# Revised: 15-Feb-1997 +# Version: 2.1 +# Revised: 24-Mar-1998 package VMS::Stdio; @@ -12,17 +12,18 @@ use Carp '&croak'; use DynaLoader (); use Exporter (); -$VERSION = '2.02'; +$VERSION = '2.1'; @ISA = qw( Exporter DynaLoader IO::File ); @EXPORT = qw( &O_APPEND &O_CREAT &O_EXCL &O_NDELAY &O_NOWAIT &O_RDONLY &O_RDWR &O_TRUNC &O_WRONLY ); -@EXPORT_OK = qw( &flush &getname &remove &rewind &sync &tmpnam - &vmsopen &vmssysopen &waitfh ); +@EXPORT_OK = qw( &flush &getname &remove &rewind &sync &setdef &tmpnam + &vmsopen &vmssysopen &waitfh &writeof ); %EXPORT_TAGS = ( CONSTANTS => [ qw( &O_APPEND &O_CREAT &O_EXCL &O_NDELAY &O_NOWAIT &O_RDONLY &O_RDWR &O_TRUNC &O_WRONLY ) ], - FUNCTIONS => [ qw( &flush &getname &remove &rewind &sync - &tmpnam &vmsopen &vmssysopen &waitfh ) ] ); + FUNCTIONS => [ qw( &flush &getname &remove &rewind &setdef + &sync &tmpnam &vmsopen &vmssysopen + &waitfh &writeof ) ] ); bootstrap VMS::Stdio $VERSION; @@ -32,7 +33,7 @@ sub AUTOLOAD { if ($constname =~ /^O_/) { my($val) = constant($constname); defined $val or croak("Unknown VMS::Stdio constant $constname"); - *$AUTOLOAD = sub { val; } + *$AUTOLOAD = sub { $val; } } else { # We don't know about it; hand off to IO::File require IO::File; @@ -80,8 +81,9 @@ VMS::Stdio - standard I/O functions via VMS extensions =head1 SYNOPSIS -use VMS::Stdio qw( &flush &getname &remove &rewind &sync &tmpnam - &vmsopen &vmssysopen &waitfh ); +use VMS::Stdio qw( &flush &getname &remove &rewind &setdef &sync &tmpnam + &vmsopen &vmssysopen &waitfh &writeof ); +setdef("new:[default.dir]"); $uniquename = tmpnam; $fh = vmsopen("my.file","rfm=var","alq=100",...) or die $!; $name = getname($fh); @@ -96,7 +98,7 @@ sysread($fh,$data,128); waitfh($fh); close($fh); remove("another.file"); - +writeof($pipefh); =head1 DESCRIPTION This package gives Perl scripts access via VMS extensions to several @@ -175,6 +177,13 @@ to the beginning of the file. It's really just a convenience method equivalent in effect to C<seek($fh,0,0)>. It returns a true value if successful, and C<undef> if it fails. +=item setdef + +This function sets the default device and directory for the process. +It is identical to the built-in chdir() operator, except that the change +persists after Perl exits. It returns a true value on success, and +C<undef> if it encounters and error. + =item sync This function flushes buffered data for the specified file handle @@ -231,6 +240,14 @@ operation on the file handle specified as its argument. It is used with handles opened for asynchronous I/O, and performs its task by calling the CRTL routine fwait(). +=item writeof + +This function writes an EOF to a file handle, if the device driver +supports this operation. Its primary use is to send an EOF to a +subprocess through a pipe opened for writing without closing the +pipe. It returns a true value if successful, and C<undef> if +it encounters an error. + =head1 REVISION This document was last revised on 10-Dec-1996, for Perl 5.004. diff --git a/vms/ext/Stdio/Stdio.xs b/vms/ext/Stdio/Stdio.xs index b10fec0d48..0a7b47e514 100644 --- a/vms/ext/Stdio/Stdio.xs +++ b/vms/ext/Stdio/Stdio.xs @@ -1,8 +1,8 @@ /* VMS::Stdio - VMS extensions to stdio routines * - * Version: 2.02 + * Version: 2.1 * Author: Charles Bailey bailey@genetics.upenn.edu - * Revised: 15-Feb-1997 + * Revised: 24-Mar-1998 * */ @@ -10,6 +10,9 @@ #include "perl.h" #include "XSUB.h" #include <file.h> +#include <iodef.h> +#include <rms.h> +#include <starlet.h> static bool constant(name, pval) @@ -121,12 +124,10 @@ constant(name) ST(0) = &sv_undef; void -flush(sv) - SV * sv +flush(fp) + FILE * fp PROTOTYPE: $ CODE: - FILE *fp = Nullfp; - if (SvOK(sv)) fp = IoIFP(sv_2io(sv)); if (fflush(fp)) { ST(0) = &sv_undef; } else { clearerr(fp); ST(0) = &sv_yes; } @@ -135,7 +136,7 @@ getname(fp) FILE * fp PROTOTYPE: $ CODE: - char fname[257]; + char fname[NAM$C_MAXRSS+1]; ST(0) = sv_newmortal(); if (fgetname(fp,fname) != NULL) sv_setpv(ST(0),fname); @@ -154,6 +155,59 @@ remove(name) ST(0) = remove(name) ? &sv_undef : &sv_yes; void +setdef(...) + PROTOTYPE: @ + CODE: + char vmsdef[NAM$C_MAXRSS+1], es[NAM$C_MAXRSS], sep; + unsigned long int retsts; + struct FAB deffab = cc$rms_fab; + struct NAM defnam = cc$rms_nam; + struct dsc$descriptor_s dirdsc = {0, DSC$K_DTYPE_T, DSC$K_CLASS_S, 0}; + if (items) { + SV *defsv = ST(items-1); /* mimic chdir() */ + ST(0) = &sv_undef; + if (!SvPOK(defsv)) { SETERRNO(EINVAL,LIB$_INVARG); XSRETURN(1); } + if (tovmsspec(SvPV(defsv,na),vmsdef) == NULL) { XSRETURN(1); } + deffab.fab$l_fna = vmsdef; deffab.fab$b_fns = strlen(vmsdef); + } + else { + deffab.fab$l_fna = "SYS$LOGIN"; deffab.fab$b_fns = 9; + EXTEND(sp,1); ST(0) = &sv_undef; + } + defnam.nam$l_esa = es; defnam.nam$b_ess = sizeof es; + deffab.fab$l_nam = &defnam; + retsts = sys$parse(&deffab,0,0); + if (retsts & 1) { + if (defnam.nam$v_wildcard) retsts = RMS$_WLD; + else if (defnam.nam$b_name || defnam.nam$b_type > 1 || + defnam.nam$b_ver > 1) retsts = RMS$_DIR; + } + defnam.nam$b_nop |= NAM$M_SYNCHK; defnam.nam$l_rlf = NULL; deffab.fab$b_dns = 0; + if (!(retsts & 1)) { + set_vaxc_errno(retsts); + switch (retsts) { + case RMS$_DNF: + set_errno(ENOENT); break; + case RMS$_SYN: case RMS$_DIR: case RMS$_DEV: + set_errno(EINVAL); break; + case RMS$_PRV: + set_errno(EACCES); break; + default: + set_errno(EVMSERR); break; + } + (void) sys$parse(&deffab,0,0); /* free up context */ + XSRETURN(1); + } + sep = *defnam.nam$l_dir; + *defnam.nam$l_dir = '\0'; + my_setenv("SYS$DISK",defnam.nam$b_node ? defnam.nam$l_node : defnam.nam$l_dev); + *defnam.nam$l_dir = sep; + dirdsc.dsc$a_pointer = defnam.nam$l_dir; dirdsc.dsc$w_length = defnam.nam$b_dir; + if ((retsts = sys$setddir(&dirdsc,0,0)) & 1) ST(0) = &sv_yes; + else { set_errno(EVMSERR); set_vaxc_errno(retsts); } + (void) sys$parse(&deffab,0,0); /* free up context */ + +void sync(fp) FILE * fp PROTOTYPE: $ @@ -295,3 +349,43 @@ waitfh(fp) PROTOTYPE: $ CODE: ST(0) = fwait(fp) ? &sv_undef : &sv_yes; + +void +writeof(mysv) + SV * mysv + PROTOTYPE: $ + CODE: + char devnam[257], *cp; + unsigned long int chan, iosb[2], retsts, retsts2; + struct dsc$descriptor devdsc = {0, DSC$K_DTYPE_T, DSC$K_CLASS_S, devnam}; + IO *io = sv_2io(mysv); + FILE *fp = io ? IoOFP(io) : NULL; + if (fp == NULL || strchr(">was+-|",IoTYPE(io)) == Nullch) { + set_errno(EBADF); set_vaxc_errno(SS$_IVCHAN); + ST(0) = &sv_undef; XSRETURN(1); + } + if (fgetname(fp,devnam) == Nullch) { ST(0) = &sv_undef; XSRETURN(1); } + if ((cp = strrchr(devnam,':')) != NULL) *(cp+1) = '\0'; + devdsc.dsc$w_length = strlen(devnam); + retsts = sys$assign(&devdsc,&chan,0,0); + if (retsts & 1) retsts = sys$qiow(0,chan,IO$_WRITEOF,iosb,0,0,0,0,0,0,0,0); + if (retsts & 1) retsts = iosb[0]; + retsts2 = sys$dassgn(chan); /* Be sure to deassign the channel */ + if (retsts & 1) retsts = retsts2; + if (retsts & 1) { ST(0) = &sv_yes; } + else { + set_vaxc_errno(retsts); + switch (retsts) { + case SS$_EXQUOTA: case SS$_INSFMEM: case SS$_MBFULL: + case SS$_MBTOOSML: case SS$_NOIOCHAN: case SS$_NOLINKS: + case SS$_BUFFEROVF: + set_errno(ENOSPC); break; + case SS$_ILLIOFUNC: case SS$_DEVOFFLINE: case SS$_NOSUCHDEV: + set_errno(EBADF); break; + case SS$_NOPRIV: + set_errno(EACCES); break; + default: /* Includes "shouldn't happen" cases that might map */ + set_errno(EVMSERR); break; /* to other errno values */ + } + ST(0) = &sv_undef; + } diff --git a/vms/ext/Stdio/test.pl b/vms/ext/Stdio/test.pl index 0b50d63e3a..36353d91b3 100755 --- a/vms/ext/Stdio/test.pl +++ b/vms/ext/Stdio/test.pl @@ -1,8 +1,8 @@ -# Tests for VMS::Stdio v2.01 +# Tests for VMS::Stdio v2.1 use VMS::Stdio; -import VMS::Stdio qw(&flush &getname &rewind &sync); +import VMS::Stdio qw(&flush &getname &rewind &sync &tmpnam); -print "1..14\n"; +print "1..19\n"; print +(defined(&getname) ? '' : 'not '), "ok 1\n"; $name = "test$$"; @@ -42,3 +42,27 @@ undef $sfh; print +(stat("$name.tmp") ? 'not ' : ''),"ok 13\n"; print +(&VMS::Stdio::tmpnam ? '' : 'not '),"ok 14\n"; + +if (open(P, qq[| MCR $^X -e "1 while (<STDIN>);print 'Foo';1 while (<STDIN>); print 'Bar'" >$name.tmp])) { + print P "Baz\nQuux\n"; + print +(VMS::Stdio::writeof(P) ? '' : 'not '),"ok 15\n"; + print P "Baz\nQuux\n"; + print +(close(P) ? '' : 'not '),"ok 16\n"; + $fh = VMS::Stdio::vmsopen("$name.tmp"); + chomp($line = <$fh>); + close $fh; + unlink("$name.tmp"); + print +($line eq 'FooBar' ? '' : 'not '),"ok 17\n"; +} +else { print "not ok 15\nnot ok 16\nnot ok 17\n"; } + +$sfh = VMS::Stdio::vmsopen(">$name.tmp"); +$setuperl = "\$ MCR $^X\nBEGIN { \@INC = qw(@INC) };\nuse VMS::Stdio qw(&setdef);"; +print $sfh qq[\$ here = F\$Environment("Default")\n]; +print $sfh "$setuperl\nsetdef();\n\$ Show Default\n\$ Set Default 'here'\n"; +print $sfh "$setuperl\nsetdef('..');\n\$ Show Default\n"; +close $sfh; +@defs = map { /(\S+)/ && $1 } `\@$name.tmp`; +unlink("$name.tmp"); +print +($defs[0] eq uc($ENV{'SYS$LOGIN'}) ? '' : "not ($defs[0]) "),"ok 18\n"; +print +($defs[1] eq VMS::Filespec::rmsexpand('[-]') ? '' : "not ($defs[1]) "),"ok 19\n"; diff --git a/vms/ext/filespec.t b/vms/ext/filespec.t index 6201a42dc6..05644917b6 100644 --- a/vms/ext/filespec.t +++ b/vms/ext/filespec.t @@ -10,7 +10,7 @@ foreach (<DATA>) { next if /^\s*$/; push(@tests,$_); } -print '1..',scalar(@tests)+3,"\n"; +print '1..',scalar(@tests)+6,"\n"; foreach $test (@tests) { ($arg,$func,$expect) = split(/\t+/,$test); @@ -25,14 +25,17 @@ foreach $test (@tests) { } } +$defwarn = <<'EOW'; +# Note: This failure may have occurred because your default device +# was set using a non-concealed logical name. If this is the case, +# you will need to determine by inspection that the two resultant +# file specifications shwn above are in fact equivalent. +EOW + if (rmsexpand('[]') eq "\U$ENV{DEFAULT}") { print 'ok ',++$idx,"\n"; } else { print 'not ok ', ++$idx, ": rmsexpand('[]') = |", rmsexpand('[]'), - "|, \$ENV{DEFAULT} = |\U$ENV{DEFAULT}|\n"; - print "# Note: This failure may have occurred because your default device\n"; - print "# was set using a non-concealed logical name. If this is the case,\n"; - print "# you will need to determine by inspection that the two resultant\n"; - print "# file specifications shwn above are in fact equivalent.\n"; + "|, \$ENV{DEFAULT} = |\U$ENV{DEFAULT}|\n$defwarn"; } if (rmsexpand('from.here') eq "\L$ENV{DEFAULT}from.here") { print 'ok ', ++$idx, "\n"; @@ -40,11 +43,15 @@ if (rmsexpand('from.here') eq "\L$ENV{DEFAULT}from.here") { else { print 'not ok ', ++$idx, ": rmsexpand('from.here') = |", rmsexpand('from.here'), - "|, \$ENV{DEFAULT}from.here = |\L$ENV{DEFAULT}from.here|\n"; - print "# Note: This failure may have occurred because your default device\n"; - print "# was set using a non-concealed logical name. If this is the case,\n"; - print "# you will need to determine by inspection that the two resultant\n"; - print "# file specifications shwn above are in fact equivalent.\n"; + "|, \$ENV{DEFAULT}from.here = |\L$ENV{DEFAULT}from.here|\n$defwarn"; +} +if (rmsexpand('from') eq "\L$ENV{DEFAULT}from") { + print 'ok ', ++$idx, "\n"; +} +else { + print 'not ok ', ++$idx, ": rmsexpand('from') = |", + rmsexpand('from'), + "|, \$ENV{DEFAULT}from = |\L$ENV{DEFAULT}from|\n$defwarn"; } if (rmsexpand('from.here','cant:[get.there];2') eq 'cant:[get.there]from.here;2') { print 'ok ',++$idx,"\n"; } @@ -53,6 +60,11 @@ else { rmsexpand('from.here','cant:[get.there];2'),"|\n"; } +# Make sure we're using redirected mkdir, which strips trailing '/', since +# the CRTL's mkdir can't handle this. +print +(mkdir('testdir/',0777) ? 'ok ' : 'not ok '),++$idx,"\n"; +print +(rmdir('testdir/') ? 'ok ' : 'not ok '),++$idx,"\n"; + __DATA__ # Basic VMS to Unix filespecs diff --git a/vms/fndvers.com b/vms/fndvers.com index f668666956..30243d82e5 100755 --- a/vms/fndvers.com +++ b/vms/fndvers.com @@ -63,10 +63,6 @@ $ Call update_file "''p2'" "#define ARCHNAME" "''token'" $ teststs = $Status $ If .not.teststs Then Exit teststs $! -$ token = """""""""/perl_root/lib/VMS_''arch'"""""""" /**/" -$ Call update_file "''p2'" "#define OLDARCHLIB_EXP" "''token'" -$ If .not.$Status Then Exit $Status -$! $ token = """""""""/perl_root/lib/site_perl/VMS_''arch'"""""""" /**/" $ Call update_file "''p2'" "#define SITEARCH_EXP" "''token'" $ If .not.$Status Then Exit $Status diff --git a/vms/gen_shrfls.pl b/vms/gen_shrfls.pl index 0a8d7e60dc..9d5748d499 100644 --- a/vms/gen_shrfls.pl +++ b/vms/gen_shrfls.pl @@ -68,6 +68,7 @@ if ($docc) { if (($prefix,$defines,$suffix) = ($cc_cmd =~ m#(.*)/Define=(.*?)([/\s].*)#i)) { $defines =~ s/^\((.*)\)$/$1/; + $debugging_enabled = $defines =~ /\bDEBUGGING\b/; @defines = split(/,/,$defines); $cc_cmd = "$prefix/Define=(" . join(',',grep($_ = "\"$_\"",@defines)) . ')' . $suffix; @@ -85,6 +86,7 @@ if ($docc) { or 0; # again, make debug output nice print "\$isgcc: $isgcc\n" if $debug; print "\$isvaxc: $isvaxc\n" if $debug; + print "\$debugging_enabled: $debugging_enabled\n" if $debug; if (-f 'perl.h') { $dir = '[]'; } elsif (-f '[-]perl.h') { $dir = '[-]'; } @@ -96,8 +98,10 @@ else { or 0; # for nice debug output $isvaxc = (!$isgcc && $cc_cmd !~ /standard=/i) or 0; # again, for nice debug output + $debugging_enabled = $cc_cmd =~ /\bdebugging\b/i; print "\$isgcc: \\$isgcc\\\n" if $debug; print "\$isvaxc: \\$isvaxc\\\n" if $debug; + print "\$debugging_enabled: \\$debugging_enabled\\\n" if $debug; print "Not running cc, preprocesor output in \\$cpp_file\\\n" if $debug; } @@ -192,44 +196,51 @@ if ($docc) { else { open(CPP,"$cpp_file") or die "$0: Can't read preprocessed file $cpp_file: $!\n"; } +%checkh = map { $_,1 } qw( thread bytecode byterun proto ); +$ckfunc = 0; LINE: while (<CPP>) { while (/^#.*vmsish\.h/i .. /^#.*perl\.h/i) { while (/__VMS_PROTOTYPES__/i .. /__VMS_SEPYTOTORP__/i) { print "vms_proto>> $_" if $debug > 2; if (/^\s*EXT/) { &scan_var($_); } else { &scan_func($_); } - last LINE unless $_ = <CPP>; + last LINE unless defined($_ = <CPP>); } print "vmsish.h>> $_" if $debug > 2; if (/^\s*EXT/) { &scan_var($_); } - last LINE unless $_ = <CPP>; + last LINE unless defined($_ = <CPP>); } while (/^#.*opcode\.h/i .. /^#.*perl\.h/i) { print "opcode.h>> $_" if $debug > 2; if (/^OP \*\s/) { &scan_func($_); } if (/^\s*EXT/) { &scan_var($_); } if (/^\s+OP_/) { &scan_enum($_); } - last LINE unless $_ = <CPP>; + last LINE unless defined($_ = <CPP>); } - while (/^typedef enum/ .. /^\}/) { + while (/^typedef enum/ .. /^\s*\}/) { print "global enum>> $_" if $debug > 2; &scan_enum($_); - last LINE unless $_ = <CPP>; + last LINE unless defined($_ = <CPP>); } - while (/^#.*thread\.h/i .. /^#.*perl\.h/i) { - print "thread.h>> $_" if $debug > 2; - if (/\s*^EXT/) { &scan_var($_); } - else { &scan_func($_); } - last LINE unless $_ = <CPP>; + # Check for transition to new header file + if (/^# \d+ "(\S+)"/) { + my $spec = $1; + # Pull name from library module or header filespec + $spec =~ /^(\w+)$/ or $spec =~ /(\w+)\.h/i; + my $name = lc $1; + $ckfunc = exists $checkh{$name} ? 1 : 0; + $scanname = $name if $ckfunc; + print "Header file transition: ckfunc = $ckfunc for $name.h\n" if $debug > 1; } - while (/^#.*proto\.h/i .. /^#.*perl\.h/i) { - print "proto.h>> $_" if $debug > 2; + if ($ckfunc) { + print "$scanname>> $_" if $debug > 2; if (/\s*^EXT/) { &scan_var($_); } - else { &scan_func($_); } - last LINE unless $_ = <CPP>; + else { &scan_func($_); } + } + else { + print $_ if $debug > 3 && ($debug > 5 || length($_)); + if (/^\s*EXT/) { &scan_var($_); } } - print $_ if $debug > 3 && ($debug > 5 || length($_)); - if (/^\s*EXT/) { &scan_var($_); } } close CPP; @@ -248,6 +259,7 @@ while (<DATA>) { print "Adding $key to \%$array list\n" if $debug > 1; ${$array}{$key}++; } +if ($debugging_enabled and ($isvaxc or $isgcc)) { $vars{'colors'}++ } foreach (split /\s+/, $extnames) { my($pkgname) = $_; $pkgname =~ s/::/__/g; @@ -378,9 +390,8 @@ if ($ENV{PERLSHR_USE_GSMATCH}) { my $major = int($] * 1000) & 0xFF; # range 0..255 my $minor = int(($] * 1000 - $major) * 100 + 0.5) & 0xFF; # range 0..255 print OPTBLD "GSMATCH=LEQUAL,$major,$minor\n"; - foreach (@symfiles) { - print OPTBLD "CLUSTER=\$\$TRANSFER_VECTOR,,,$_$objsuffix\n"; - } + print OPTBLD 'CLUSTER=$$TRANSFER_VECTOR,,', + map(",$_$objsuffix",@symfiles), "\n"; } elsif (@symfiles) { $incstr .= ',' . join(',',@symfiles); } # Include object modules and RTLs in options file diff --git a/vms/genconfig.pl b/vms/genconfig.pl index d2da57262c..4e0cf31655 100644 --- a/vms/genconfig.pl +++ b/vms/genconfig.pl @@ -6,7 +6,7 @@ # that went into your perl binary. In addition, values which change from run # to run may be supplied on the command line as key=val pairs. # -# Rev. 10-Nov-1997 Charles Bailey bailey@newman.upenn.edu +# Rev. 16-Feb-1998 Charles Bailey bailey@newman.upenn.edu # #==== Locations of installed Perl components @@ -26,6 +26,7 @@ if ($ARGV[0] eq '-f') { open(ARGS,$ARGV[1]) or die "Can't read data from $ARGV[1]: $!\n"; @ARGV = (); while (<ARGS>) { + chomp; push(@ARGV,split(/\|/,$_)); } close ARGS; @@ -88,6 +89,8 @@ man1ext='rno' man3ext='rno' arch='VMS_$archsufx' archname='VMS_$archsufx' +bincompat3='undef' +d_bincompat3='undef' osvers='$osvers' prefix='$prefix' builddir='$builddir' @@ -154,44 +157,78 @@ foreach (@ARGV) { $optimize = $qual; $ccflags =~ s/$qual//; } + $usethreads = ($ccflags =~ m!/DEF[^/]+USE_THREADS!i and + $ccflags !~ m!/UND[^/]+USE_THREADS!i); + print OUT "usethreads='",($usethreads ? 'define' : 'undef'),"'\n";; $optimize = "$debug$optimize"; print OUT "ccflags='$ccflags'\n"; print OUT "optimize='$optimize'\n"; - $usethreads = ($ccflags =~ m!/DEF[^/]+USE_THREADS!i and - $ccflags !~ m!/UND[^/]+USE_THREADS!i); - print OUT "usethreads='$usethreads'\n"; $dosock = ($ccflags =~ m!/DEF[^/]+VMS_DO_SOCKETS!i and $ccflags !~ m!/UND[^/]+VMS_DO_SOCKETS!i); print OUT "d_vms_do_sockets=",$dosock ? "'define'\n" : "'undef'\n"; print OUT "d_socket=",$dosock ? "'define'\n" : "'undef'\n"; print OUT "d_sockpair=",$dosock ? "'define'\n" : "'undef'\n"; print OUT "d_gethent=",$dosock ? "'define'\n" : "'undef'\n"; + print OUT "d_sethent=",$dosock ? "'define'\n" : "'undef'\n"; print OUT "d_select=",$dosock ? "'define'\n" : "'undef'\n"; print OUT "i_netdb=",$dosock ? "'define'\n" : "'undef'\n"; print OUT "i_niin=",$dosock ? "'define'\n" : "'undef'\n"; print OUT "i_neterrno=",$dosock ? "'define'\n" : "'undef'\n"; - print OUT "d_gethbadd=",$dosock ? "'define'\n" : "'undef'\n"; - print OUT "gethbadd_addr_type=",$dosock ? "'char *'\n" : "'undef'\n"; - print OUT "gethbadd_alen_type=",$dosock ? "'int'\n" : "'undef'\n"; + print OUT "d_gethbyname=",$dosock ? "'define'\n" : "'undef'\n"; + print OUT "d_gethbyaddr=",$dosock ? "'define'\n" : "'undef'\n"; + print OUT "d_getpbyname=",$dosock ? "'define'\n" : "'undef'\n"; + print OUT "d_getpbynumber=",$dosock ? "'define'\n" : "'undef'\n"; + print OUT "d_getsbyname=",$dosock ? "'define'\n" : "'undef'\n"; + print OUT "d_getsbyport=",$dosock ? "'define'\n" : "'undef'\n"; + print OUT "d_endhent=",$dosock ? "'define'\n" : "'undef'\n"; + print OUT "d_getpent=",$dosock ? "'define'\n" : "'undef'\n"; + print OUT "d_setpent=",$dosock ? "'define'\n" : "'undef'\n"; + print OUT "d_endpent=",$dosock ? "'define'\n" : "'undef'\n"; + print OUT "d_getsent=",$dosock ? "'define'\n" : "'undef'\n"; + print OUT "d_setsent=",$dosock ? "'define'\n" : "'undef'\n"; + print OUT "d_endsent=",$dosock ? "'define'\n" : "'undef'\n"; + print OUT "netdb_name_type=",$dosock ? "'char *'\n" : "'undef'\n"; + print OUT "netdb_host_type=",$dosock ? "'char *'\n" : "'undef'\n"; + print OUT "netdb_hlen_type=",$dosock ? "'int'\n" : "'undef'\n"; if ($dosock and $cctype eq 'decc' and $ccflags =~ /DECCRTL_SOCKETS/) { print OUT "selecttype='fd_set'\n"; - print OUT "d_getnbadd='define'\n"; - print OUT "getnbadd_net_type='long'\n"; + print OUT "d_getnbyaddr='define'\n"; + print OUT "d_getnbyname='define'\n"; + print OUT "d_getnent='define'\n"; + print OUT "d_setnent='define'\n"; + print OUT "d_endnent='define'\n"; + print OUT "netdb_net_type='long'\n"; } else { print OUT "selecttype='int'\n"; - print OUT "d_getnbadd='undef'\n"; - print OUT "getnbadd_net_type='undef'\n"; + print OUT "d_getnybname='undef'\n"; + print OUT "d_getnybaddr='undef'\n"; + print OUT "d_getnent='undef'\n"; + print OUT "d_setnent='undef'\n"; + print OUT "d_endnent='undef'\n"; + print OUT "netdb_net_type='undef'\n"; } - if ($cctype eq 'decc') { $rtlhas = 'define'; print OUT "useposix='true'\n"; } - else { $rtlhas = 'undef'; print OUT "useposix='false'\n"; } + if ($cctype eq 'decc') { + $rtlhas = 'define'; + print OUT "useposix='true'\n"; + ($ccver,$vmsver) = `$cc/VERSION` =~ /V(\S+) on .*V(\S+)$/; + # Best guess; the may be wrong on systems which have separately + # installed the new CRTL. + if ($ccver >= 5.2 and $vmsver >= 7) { $rtlnew = 'define'; } + else { $rtlnew = 'undef'; } + } + else { $rtlhas = $rtlnew = 'undef'; print OUT "useposix='false'\n"; } foreach (qw[ d_stdstdio d_stdio_ptr_lval d_stdio_cnt_lval d_stdiobase d_locconv d_setlocale i_locale d_mbstowcs d_mbtowc d_wcstombs d_wctomb d_mblen d_mktime d_strcoll d_strxfrm ]) { print OUT "$_='$rtlhas'\n"; } + foreach (qw[ d_gettimeod d_uname d_truncate d_wait4 d_index + d_pathconf d_fpathconf d_sysconf d_sigsetjmp ]) { + print OUT "$_='$rtlnew'\n"; + } next; } elsif ($key eq 'exe_ext') { @@ -324,6 +361,9 @@ close IN; # as the manifest for the obsolete variable $d_eunice. print OUT "d_eunice='undef'\n"; delete $pp_vars{VMS}; +# XXX temporary -- USE_THREADS is currently on CC command line +delete $pp_vars{'USE_THREADS'}; + foreach (sort keys %pp_vars) { warn "Didn't see $_ in $infile\n"; } diff --git a/vms/perly_c.vms b/vms/perly_c.vms index 2e68d12bc8..5f2a6f9384 100644 --- a/vms/perly_c.vms +++ b/vms/perly_c.vms @@ -1276,7 +1276,7 @@ dEXT YYSTYPE yyval; dEXT YYSTYPE yylval; #line 636 "perly.y" /* PROGRAM */ -#line 1349 "y_tab.c" +#line 1349 "perly.c" #define YYABORT goto yyabort #define YYACCEPT goto yyaccept #define YYERROR goto yyerrlab @@ -1375,7 +1375,7 @@ yyloop: yys = 0; if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (!yys) yys = "illegal-symbol"; - fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate, + PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate, yychar, yys); } #endif @@ -1385,7 +1385,7 @@ yyloop: { #if YYDEBUG if (yydebug) - fprintf(stderr, "yydebug: state %d, shifting to state %d\n", + PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n", yystate, yytable[yyn]); #endif if (yyssp >= yyss + yystacksize - 1) @@ -1440,7 +1440,7 @@ yyinrecovery: { #if YYDEBUG if (yydebug) - fprintf(stderr, + PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery shifting to state %d\n", *yyssp, yytable[yyn]); #endif @@ -1470,7 +1470,7 @@ yyinrecovery: { #if YYDEBUG if (yydebug) - fprintf(stderr, + PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n", *yyssp); #endif @@ -1489,7 +1489,7 @@ yyinrecovery: yys = 0; if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (!yys) yys = "illegal-symbol"; - fprintf(stderr, + PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n", yystate, yychar, yys); } @@ -1500,7 +1500,7 @@ yyinrecovery: yyreduce: #if YYDEBUG if (yydebug) - fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n", + PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n", yystate, yyn, yyrule[yyn]); #endif yym = yylen[yyn]; @@ -2285,7 +2285,7 @@ case 176: #line 633 "perly.y" { yyval.opval = yyvsp[0].opval; } break; -#line 2267 "y_tab.c" +#line 2267 "perly.c" } yyssp -= yym; yystate = *yyssp; @@ -2295,7 +2295,7 @@ break; { #if YYDEBUG if (yydebug) - fprintf(stderr, + PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to state %d\n", YYFINAL); #endif @@ -2311,7 +2311,7 @@ break; yys = 0; if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (!yys) yys = "illegal-symbol"; - fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", + PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", YYFINAL, yychar, yys); } #endif @@ -2326,7 +2326,7 @@ break; yystate = yydgoto[yym]; #if YYDEBUG if (yydebug) - fprintf(stderr, + PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d to state %d\n", *yyssp, yystate); #endif diff --git a/vms/sockadapt.h b/vms/sockadapt.h index 7f9150a579..3e5daf3765 100644 --- a/vms/sockadapt.h +++ b/vms/sockadapt.h @@ -145,7 +145,6 @@ void endnetent(); #include <socket.h> #include <in.h> #include <inet.h> -#include <netdb.h> /* SocketShr doesn't support these routines, but the DECC RTL contains * stubs with these names, designed to be used with the UCX socket @@ -156,6 +155,8 @@ void endnetent(); #define getnetent no_getnetent #define setnetent no_setnetent #define endnetent no_endnetent + +#include <netdb.h> #endif /* We don't have these two in the system headers. */ diff --git a/vms/test.com b/vms/test.com index 7786a17e1b..affc6a83c7 100644 --- a/vms/test.com +++ b/vms/test.com @@ -74,6 +74,7 @@ $ Delete/Log/NoConfirm Echo.Obj;* $ echo = "$" + F$Parse("Echo.Exe") $ $! And do it +$ Show Process/Accounting $ testdir = "Directory/NoHead/NoTrail/Column=1" $ Define/User Perlshr Sys$Disk:[-]PerlShr'exe' $ MCR Sys$Disk:[]Perl. "-I[-.lib]" - "''p2'" "''p3'" "''p4'" "''p5'" "''p6'" @@ -93,7 +94,7 @@ use Config; @ioexcl=('argv.t','dup.t','fs.t','inplace.t','pipe.t'); @libexcl=('db-btree.t','db-hash.t','db-recno.t', 'gdbm.t','io_dup.t', 'io_pipe.t', 'io_sel.t', 'io_sock.t', - 'ndbm.t','odbm.t','open2.t','open3.t','posix.t'); + 'ndbm.t','odbm.t','open2.t','open3.t', 'ph.t', 'posix.t'); # Note: POSIX is not part of basic build, but can be built # separately if you're using DECC @@ -217,6 +218,7 @@ print sprintf("u=%g s=%g cu=%g cs=%g files=%d tests=%d\n", $user,$sys,$cuser,$csys,$files,$totmax); $$END-OF-TEST$$ $ wrapup: +$ Show Process/Accounting $ If F$Search("Echo.Exe").nes."" Then Delete/Log/NoConfirm Echo.Exe;* $ Set Default &olddef $ Set Message 'oldmsg' @@ -2,8 +2,8 @@ * * VMS-specific routines for perl5 * - * Last revised: 9-Nov-1997 by Charles Bailey bailey@newman.upenn.edu - * Version: 5.4.53a + * Last revised: 27-Feb-1998 by Charles Bailey bailey@newman.upenn.edu + * Version: 5.4.61 */ #include <acedef.h> @@ -11,6 +11,7 @@ #include <armdef.h> #include <atrdef.h> #include <chpdef.h> +#include <clidef.h> #include <climsgdef.h> #include <descrip.h> #include <dvidef.h> @@ -174,7 +175,9 @@ my_getenv(char *lnm) } /* end of my_getenv() */ /*}}}*/ -static FILE *safe_popen(char *, char *); +static void create_mbx(unsigned short int *, struct dsc$descriptor_s *); + +static void riseandshine(unsigned long int dummy) { sys$wake(0,0); } /*{{{ void prime_env_iter() */ void @@ -184,12 +187,21 @@ prime_env_iter(void) */ { dTHR; - static int primed = 0; /* XXX Not thread-safe!!! */ + static int primed = 0; HV *envhv = GvHVn(envgv); - FILE *sholog; - char eqv[LNM$C_NAMLENGTH+1],*start,*end; + PerlIO *sholog; + char eqv[LNM$C_NAMLENGTH+1],mbxnam[LNM$C_NAMLENGTH+1],*start,*end; + unsigned short int chan; +#ifndef CLI$M_TRUSTED +# define CLI$M_TRUSTED 0x40 /* Missing from VAXC headers */ +#endif + unsigned long int flags = CLI$M_NOWAIT | CLI$M_NOCLISYM | CLI$M_NOKEYPAD | CLI$M_TRUSTED; + unsigned long int retsts, substs = 0, wakect = 0; STRLEN eqvlen; SV *oldrs, *linesv, *eqvsv; + $DESCRIPTOR(cmddsc,"Show Logical *"); $DESCRIPTOR(nldsc,"_NLA0:"); + $DESCRIPTOR(clidsc,"DCL"); $DESCRIPTOR(tabdsc,"DCLTABLES"); + $DESCRIPTOR(mbxdsc,mbxnam); #ifdef USE_THREADS static perl_mutex primenv_mutex = PTHREAD_MUTEX_INITIALIZER; #endif @@ -198,7 +210,7 @@ prime_env_iter(void) MUTEX_LOCK(&primenv_mutex); if (primed) { MUTEX_UNLOCK(&primenv_mutex); return; } /* Perform a dummy fetch as an lval to insure that the hash table is - * set up. Otherwise, the hv_store() will turn into a nullop */ + * set up. Otherwise, the hv_store() will turn into a nullop. */ (void) hv_fetch(envhv,"DEFAULT",7,TRUE); /* Also, set up the four "special" keys that the CRTL defines, * whether or not underlying logical names exist. */ @@ -208,20 +220,39 @@ prime_env_iter(void) (void) hv_fetch(envhv,"USER",4,TRUE); /* Now, go get the logical names */ - if ((sholog = safe_popen("$ Show Logical *","r")) == Nullfp) { + create_mbx(&chan,&mbxdsc); + if ((sholog = PerlIO_open(mbxnam,"r")) != Nullfp) { + if ((retsts = sys$dassgn(chan)) & 1) { + /* Be certain that subprocess is using the CLI and command tables we + * expect, and don't pass symbols through so that we insure that + * "Show Logical" can't be subverted. + */ + do { + retsts = lib$spawn(&cmddsc,&nldsc,&mbxdsc,&flags,0,0,&substs, + 0,&riseandshine,0,0,&clidsc,&tabdsc); + flags &= ~CLI$M_TRUSTED; /* Just in case we hit a really old version */ + } while (retsts == LIB$_INVARG && (flags | CLI$M_TRUSTED)); + } + } + if (sholog == Nullfp || !(retsts & 1)) { + if (sholog != Nullfp) PerlIO_close(sholog); MUTEX_UNLOCK(&primenv_mutex); - _ckvmssts(vaxc$errno); + _ckvmssts(sholog == Nullfp ? vaxc$errno : retsts); } - /* We use Perl's sv_gets to read from the pipe, since safe_popen is + /* We use Perl's sv_gets to read from the pipe, since PerlIO_open is * tied to Perl's I/O layer, so it may not return a simple FILE * */ oldrs = rs; rs = newSVpv("\n",1); linesv = newSVpv("",0); while (1) { if ((start = sv_gets(linesv,sholog,0)) == Nullch) { - my_pclose(sholog); + PerlIO_close(sholog); SvREFCNT_dec(linesv); SvREFCNT_dec(rs); rs = oldrs; primed = 1; + /* Wait for subprocess to clean up (we know subproc won't return 0) */ + while (substs == 0) { sys$hiber(); wakect++;} + if (wakect > 1) sys$wake(0,0); /* Stole someone else's wake */ + _ckvmssts(substs); MUTEX_UNLOCK(&primenv_mutex); return; } @@ -578,7 +609,7 @@ popen_completion_ast(struct pipe_details *thispipe) } } -static FILE * +static PerlIO * safe_popen(char *cmd, char *mode) { static int handler_set_up = FALSE; @@ -841,12 +872,14 @@ do_rmsexpand(char *filespec, char *outbuf, int ts, char *defspec, unsigned opts) retsts = sys$parse(&myfab,0,0); if (!(retsts & 1)) { + mynam.nam$b_nop |= NAM$M_SYNCHK; if (retsts == RMS$_DNF || retsts == RMS$_DIR || retsts == RMS$_DEV || retsts == RMS$_DEV) { - mynam.nam$b_nop |= NAM$M_SYNCHK; retsts = sys$parse(&myfab,0,0); if (retsts & 1) goto expanded; } + mynam.nam$l_rlf = NULL; myfab.fab$b_dns = 0; + (void) sys$parse(&myfab,0,0); /* Free search context */ if (out) Safefree(out); set_vaxc_errno(retsts); if (retsts == RMS$_PRV) set_errno(EACCES); @@ -857,6 +890,8 @@ do_rmsexpand(char *filespec, char *outbuf, int ts, char *defspec, unsigned opts) } retsts = sys$search(&myfab,0,0); if (!(retsts & 1) && retsts != RMS$_FNF) { + mynam.nam$b_nop |= NAM$M_SYNCHK; mynam.nam$l_rlf = NULL; + myfab.fab$b_dns = 0; (void) sys$parse(&myfab,0,0); /* Free search context */ if (out) Safefree(out); set_vaxc_errno(retsts); if (retsts == RMS$_PRV) set_errno(EACCES); @@ -874,6 +909,10 @@ do_rmsexpand(char *filespec, char *outbuf, int ts, char *defspec, unsigned opts) if (!(mynam.nam$l_fnb & NAM$M_EXP_VER) && (!defspec || !*defspec || !strchr(myfab.fab$l_dna,';'))) speclen = mynam.nam$l_ver - out; + if (!(mynam.nam$l_fnb & NAM$M_EXP_TYPE) && + (!defspec || !*defspec || defspec[myfab.fab$b_dns-1] != '.' || + defspec[myfab.fab$b_dns-2] == '.')) + speclen = mynam.nam$l_type - out; /* If we just had a directory spec on input, $PARSE "helpfully" * adds an empty name and type for us */ if (mynam.nam$l_name == mynam.nam$l_type && @@ -895,6 +934,9 @@ do_rmsexpand(char *filespec, char *outbuf, int ts, char *defspec, unsigned opts) if (do_tounixspec(outbuf,tmpfspec,0) == NULL) return NULL; strcpy(outbuf,tmpfspec); } + mynam.nam$b_nop |= NAM$M_SYNCHK; mynam.nam$l_rlf = NULL; + mynam.nam$l_rsa = NULL; mynam.nam$b_rss = 0; + myfab.fab$b_dns = 0; (void) sys$parse(&myfab,0,0); /* Free search context */ return outbuf; } /*}}}*/ @@ -1032,6 +1074,7 @@ static char *do_fileify_dirspec(char *dir,char *buf,int ts) } cp1++; } while ((cp1 = strstr(cp1,"/.")) != NULL); + lastdir = strrchr(dir,'/'); } else if (!strcmp(&dir[dirlen-7],"/000000")) { /* Ditto for specs that end in an MFD -- let the VMS code @@ -2339,6 +2382,12 @@ vms_image_init(int *argcp, char ***argvp) *argcp++; argvp = newap; } getredirection(argcp,argvp); +#if defined(USE_THREADS) && defined(__DECC) + { +# include <reentrancy.h> + (void) decc$set_reentrancy(C$C_MULTITHREAD); + } +#endif return; } /*}}}*/ @@ -2435,7 +2484,7 @@ trim_unixpath(char *fspec, char *wildspec, int opts) for (front = end ; front >= base; front--) if (*front == '/' && !dirs--) { front++; break; } } - for (cp1=template,cp2=lcres; *cp1 && cp2 <= lcend + sizeof lcend; + for (cp1=template,cp2=lcres; *cp1 && cp2 <= lcres + sizeof lcres; cp1++,cp2++) *cp2 = _tolower(*cp1); /* Make lc copy for match */ if (cp1 != '\0') return 0; /* Path too long. */ lcend = cp2; @@ -2878,6 +2927,7 @@ setup_cmddsc(char *cmd, int check_img) s = resspec; while (*s && !isspace(*s)) s++; *s = '\0'; + if (!cando_by_name(S_IXUSR,0,resspec)) return RMS$_PRV; New(402,VMScmd.dsc$a_pointer,7 + s - resspec + (rest ? strlen(rest) : 0),char); strcpy(VMScmd.dsc$a_pointer,"$ MCR "); strcat(VMScmd.dsc$a_pointer,resspec); @@ -2936,7 +2986,22 @@ vms_do_exec(char *cmd) if ((retsts = setup_cmddsc(cmd,1)) & 1) retsts = lib$do_command(&VMScmd); - set_errno(EVMSERR); + switch (retsts) { + case RMS$_FNF: + set_errno(ENOENT); break; + case RMS$_DNF: case RMS$_DIR: case RMS$_DEV: + set_errno(ENOTDIR); break; + case RMS$_PRV: + set_errno(EACCES); break; + case RMS$_SYN: + set_errno(EINVAL); break; + case CLI$_BUFOVF: + set_errno(E2BIG); break; + case LIB$_INVARG: case LIB$_INVSTRDES: case SS$_ACCVIO: /* shouldn't happen */ + _ckvmssts(retsts); /* fall through */ + default: /* SS$_DUPLNAM, SS$_CLI, resource exhaustion, etc. */ + set_errno(EVMSERR); + } set_vaxc_errno(retsts); if (dowarn) warn("Can't exec \"%s\": %s", VMScmd.dsc$a_pointer, Strerror(errno)); @@ -2965,21 +3030,36 @@ do_aspawn(void *really,void **mark,void **sp) unsigned long int do_spawn(char *cmd) { - unsigned long int substs, hadcmd = 1; + unsigned long int sts, substs, hadcmd = 1; TAINT_ENV(); TAINT_PROPER("spawn"); if (!cmd || !*cmd) { hadcmd = 0; - _ckvmssts(lib$spawn(0,0,0,0,0,0,&substs,0,0,0,0,0,0)); + sts = lib$spawn(0,0,0,0,0,0,&substs,0,0,0,0,0,0); } - else if ((substs = setup_cmddsc(cmd,0)) & 1) { - _ckvmssts(lib$spawn(&VMScmd,0,0,0,0,0,&substs,0,0,0,0,0,0)); + else if ((sts = setup_cmddsc(cmd,0)) & 1) { + sts = lib$spawn(&VMScmd,0,0,0,0,0,&substs,0,0,0,0,0,0); } - if (!(substs&1)) { - set_errno(EVMSERR); - set_vaxc_errno(substs); + if (!(sts & 1)) { + switch (sts) { + case RMS$_FNF: + set_errno(ENOENT); break; + case RMS$_DNF: case RMS$_DIR: case RMS$_DEV: + set_errno(ENOTDIR); break; + case RMS$_PRV: + set_errno(EACCES); break; + case RMS$_SYN: + set_errno(EINVAL); break; + case CLI$_BUFOVF: + set_errno(E2BIG); break; + case LIB$_INVARG: case LIB$_INVSTRDES: case SS$_ACCVIO: /* shouldn't happen */ + _ckvmssts(sts); /* fall through */ + default: /* SS$_DUPLNAM, SS$_CLI, resource exhaustion, etc. */ + set_errno(EVMSERR); + } + set_vaxc_errno(sts); if (dowarn) warn("Can't spawn \"%s\": %s", hadcmd ? VMScmd.dsc$a_pointer : "", Strerror(errno)); @@ -4065,25 +4145,36 @@ flex_stat(char *fspec, Stat_t *statbufp) FILE * my_binmode(FILE *fp, char iotype) { - char filespec[NAM$C_MAXRSS], *acmode; + char filespec[NAM$C_MAXRSS], *acmode, *s, *colon, *dirend = Nullch; + int ret = 0, saverrno = errno, savevmserrno = vaxc$errno; fpos_t pos; if (!fgetname(fp,filespec)) return NULL; - if (iotype != '-' && fgetpos(fp,&pos) == -1) return NULL; + for (s = filespec; *s; s++) { + if (*s == ':') colon = s; + else if (*s == ']' || *s == '>') dirend = s; + } + /* Looks like a tmpfile, which will go away if reopened */ + if (s == dirend + 3) return fp; + /* If we've got a non-file-structured device, clip off the trailing + * junk, and don't lose sleep if we can't get a stream position. */ + if (dirend == Nullch) *(colon+1) = '\0'; + if (iotype != '-'&& (ret = fgetpos(fp, &pos)) == -1 && dirend) return NULL; switch (iotype) { case '<': case 'r': acmode = "rb"; break; - case '>': case 'w': + case '>': case 'w': case '|': /* use 'a' instead of 'w' to avoid creating new file; fsetpos below will take care of restoring file position */ case 'a': acmode = "ab"; break; - case '+': case '|': case 's': acmode = "rb+"; break; + case '+': case 's': acmode = "rb+"; break; case '-': acmode = fileno(fp) ? "ab" : "rb"; break; default: warn("Unrecognized iotype %c in my_binmode",iotype); acmode = "rb+"; } if (freopen(filespec,acmode,fp) == NULL) return NULL; - if (iotype != '-' && fsetpos(fp,&pos) == -1) return NULL; + if (iotype != '-' && ret != -1 && fsetpos(fp,&pos) == -1) return NULL; + if (ret == -1) { set_errno(saverrno); set_vaxc_errno(savevmserrno); } return fp; } /* end of my_binmode() */ /*}}}*/ @@ -4490,6 +4581,11 @@ init_os_extras() newXSproto("VMS::Filespec::unixpath",unixpath_fromperl,file,"$"); newXSproto("VMS::Filespec::candelete",candelete_fromperl,file,"$"); newXS("File::Copy::rmscopy",rmscopy_fromperl,file); + +#ifdef PRIME_ENV_AT_STARTUP + prime_env_iter(); +#endif + return; } diff --git a/vms/vmsish.h b/vms/vmsish.h index cc08f39574..1cda1e29d0 100644 --- a/vms/vmsish.h +++ b/vms/vmsish.h @@ -16,12 +16,11 @@ #include <stsdef.h> /* bitmasks for exit status testing */ /* Suppress compiler warnings from DECC for VMS-specific extensions: - * GLOBALEXT, NOSHAREEXT, READONLYEXT: global[dr]ef declarations * ADDRCONSTEXT,NEEDCONSTEXT: initialization of data with non-constant values * (e.g. pointer fields of descriptors) */ #ifdef __DECC -# pragma message disable (GLOBALEXT,NOSHAREEXT,READONLYEXT,ADDRCONSTEXT,NEEDCONSTEXT) +# pragma message disable (ADDRCONSTEXT,NEEDCONSTEXT) #endif /* DEC's C compilers and gcc use incompatible definitions of _to(upp|low)er() */ @@ -56,6 +55,11 @@ # include <unistd.h> /* DECC has this; VAXC and gcc don't */ #endif +/* VAXC doesn't have a unary plus operator, so we need to get there indirectly */ +#if defined(VAXC) && !defined(__DECC) +# define NO_UNARY_PLUS +#endif + #ifdef NO_PERL_TYPEDEFS /* a2p; we don't want Perl's special routines */ # define DONT_MASK_RTL_CALLS #endif @@ -70,11 +74,6 @@ /* DECC introduces this routine in the RTL as of VMS 7.0; for now, * we'll use ours, since it gives us the full VMS exit status. */ -#ifdef __PID_T -# define Pid_t pid_t -#else -# define Pid_t unsigned int -#endif #define waitpid my_waitpid /* Don't redeclare standard RTL routines in Perl's header files; @@ -167,12 +166,6 @@ */ #define BIG_TIME -/* USE_STAT_RDEV: - * This symbol is defined if this system has a stat structure declaring - * st_rdev - */ -#define USE_STAT_RDEV /**/ - /* ACME_MESS: * This symbol, if defined, indicates that error messages should be * should be generated in a format that allows the use of the Acme @@ -381,7 +374,9 @@ struct utimbuf { # define sigdelset(t, u) my_sigdelset(t, u) # define sigismember(t, u) my_sigismember(t, u) # define sigprocmask(t, u, v) my_sigprocmask(t, u, v) +# ifndef _SIGSET_T typedef int sigset_t; +# endif /* The tools for sigprocmask() are there, just not the routine itself */ # ifndef SIG_UNBLOCK # define SIG_UNBLOCK 1 diff --git a/win32/Makefile b/win32/Makefile index 230ccb1034..ea5dd12e38 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -634,7 +634,7 @@ doc: $(PERLEXE) cd ..\win32 copy ..\README.win32 ..\pod\perlwin32.pod $(PERLEXE) -I..\lib ..\installhtml --podroot=.. --htmldir=./html \ - --podpath=pod:lib:ext:utils --htmlroot="//$(INST_HTML::=|)" \ + --podpath=pod:lib:ext:utils --htmlroot="file://$(INST_HTML::=|)" \ --libpod=perlfunc:perlguts:perlvar:perlrun:perlop --recurse utils: $(PERLEXE) diff --git a/win32/config.bc b/win32/config.bc index 0ebcfcc49a..c395f6a882 100644 --- a/win32/config.bc +++ b/win32/config.bc @@ -29,7 +29,6 @@ awk='awk' baserev='5.0' bash='' bin='~INST_TOP~\bin' -bincompat3='' binexp='~INST_TOP~\bin' bison='' byacc='byacc' @@ -69,7 +68,6 @@ d_archlib='undef' d_attribut='undef' d_bcmp='undef' d_bcopy='undef' -d_bincompat3='undef' d_bsd='define' d_bsdgetpgrp='undef' d_bsdsetpgrp='undef' @@ -93,6 +91,10 @@ d_dlopen='define' d_dlsymun='undef' d_dosuid='undef' d_dup2='define' +d_endhent='undef' +d_endnent='undef' +d_endpent='undef' +d_endsent='undef' d_eofnblk='define' d_eunice='undef' d_fchmod='undef' @@ -113,18 +115,25 @@ d_gethbyaddr='define' d_gethbyname='define' d_gethent='undef' d_gethname='define' +d_gethostprotos='define' d_getlogin='define' d_getnbyaddr='undef' d_getnbyname='undef' +d_getnent='undef' +d_getnetprotos='undef' d_getpbyname='define' d_getpbynumber='define' +d_getpent='undef' d_getpgid='undef' d_getpgrp2='undef' d_getpgrp='undef' d_getppid='undef' d_getprior='undef' +d_getprotoprotos='define' d_getsbyname='define' d_getsbyport='define' +d_getsent='undef' +d_getservprotos='define' d_gettimeod='undef' d_gnulibc='undef' d_htonl='define' @@ -135,6 +144,8 @@ d_killpg='undef' d_link='undef' d_locconv='define' d_lockf='undef' +d_longdbl='define' +d_longlong='undef' d_lstat='undef' d_mblen='define' d_mbstowcs='define' @@ -145,6 +156,7 @@ d_memmove='define' d_memset='define' d_mkdir='define' d_mkfifo='undef' +d_mkstemp='undef' d_mktime='define' d_msg='undef' d_msgctl='define' @@ -191,6 +203,8 @@ d_setgrps='undef' d_sethent='undef' d_setlinebuf='undef' d_setlocale='define' +d_setnent='undef' +d_setpent='undef' d_setpgid='undef' d_setpgrp2='undef' d_setpgrp='undef' @@ -201,7 +215,9 @@ d_setresuid='undef' d_setreuid='undef' d_setrgid='undef' d_setruid='undef' +d_setsent='undef' d_setsid='undef' +d_setvbuf='define' d_sfio='undef' d_shm='undef' d_shmat='undef' @@ -375,6 +391,8 @@ ln='' lns='copy' locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include' loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib' +longdblsize='10' +longlongsize='8' longsize='4' lp='' lpr='' @@ -458,9 +476,9 @@ shmattype='void *' shortsize='2' shrpenv='' shsharp='true' -sig_name='ZERO INT ILL FPE SEGV TERM USR1 USR2 USR3 BREAK ABRT' -sig_name_init='"ZERO", "INT", "ILL", "FPE", "SEGV", "TERM", "USR1", "USR2", "USR3", "BREAK", "ABRT", 0' -sig_num='0, 2, 4, 8, 11, 15, 16, 17, 20, 21, 22, 0' +sig_name='ZERO INT QUIT ILL FPE KILL SEGV PIPE ALRM TERM USR1 USR2 CHLD USR3 BREAK ABRT STOP CONT CLD' +sig_name_init='"ZERO", "INT", "QUIT", "ILL", "FPE", "KILL", "SEGV", "PIPE", "ALRM", "TERM", "USR1", "USR2", "CHLD", "USR3", "BREAK", "ABRT", "STOP", "CONT", "CLD", 0' +sig_num='0, 2, 3, 4, 8, 9, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 25, 18, 0' signal_t='void' sitearch='' sitearchexp='' diff --git a/win32/config.gc b/win32/config.gc index 0e2f200d81..13f02c70d7 100644 --- a/win32/config.gc +++ b/win32/config.gc @@ -29,7 +29,6 @@ awk='awk' baserev='5.0' bash='' bin='~INST_TOP~\bin' -bincompat3='' binexp='~INST_TOP~\bin' bison='' byacc='byacc' @@ -69,7 +68,6 @@ d_archlib='undef' d_attribut='define' d_bcmp='undef' d_bcopy='undef' -d_bincompat3='undef' d_bsd='define' d_bsdgetpgrp='undef' d_bsdsetpgrp='undef' @@ -93,6 +91,10 @@ d_dlopen='define' d_dlsymun='undef' d_dosuid='undef' d_dup2='define' +d_endhent='undef' +d_endnent='undef' +d_endpent='undef' +d_endsent='undef' d_eofnblk='define' d_eunice='undef' d_fchmod='undef' @@ -113,18 +115,25 @@ d_gethbyaddr='define' d_gethbyname='define' d_gethent='undef' d_gethname='define' +d_gethostprotos='define' d_getlogin='define' d_getnbyaddr='undef' d_getnbyname='undef' +d_getnent='undef' +d_getnetprotos='undef' d_getpbyname='define' d_getpbynumber='define' +d_getpent='undef' d_getpgid='undef' d_getpgrp2='undef' d_getpgrp='undef' d_getppid='undef' d_getprior='undef' +d_getprotoprotos='define' d_getsbyname='define' d_getsbyport='define' +d_getsent='undef' +d_getservprotos='define' d_gettimeod='undef' d_gnulibc='undef' d_htonl='define' @@ -135,6 +144,8 @@ d_killpg='undef' d_link='undef' d_locconv='define' d_lockf='undef' +d_longdbl='define' +d_longlong='undef' d_lstat='undef' d_mblen='define' d_mbstowcs='define' @@ -145,6 +156,7 @@ d_memmove='define' d_memset='define' d_mkdir='define' d_mkfifo='undef' +d_mkstemp='undef' d_mktime='define' d_msg='undef' d_msgctl='define' @@ -191,6 +203,8 @@ d_setgrps='undef' d_sethent='undef' d_setlinebuf='undef' d_setlocale='define' +d_setnent='undef' +d_setpent='undef' d_setpgid='undef' d_setpgrp2='undef' d_setpgrp='undef' @@ -201,7 +215,9 @@ d_setresuid='undef' d_setreuid='undef' d_setrgid='undef' d_setruid='undef' +d_setsent='undef' d_setsid='undef' +d_setvbuf='define' d_sfio='undef' d_shm='undef' d_shmat='undef' @@ -375,6 +391,8 @@ ln='' lns='copy' locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include' loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib' +longdblsize='12' +longlongsize='8' longsize='4' lp='' lpr='' @@ -458,9 +476,9 @@ shmattype='void *' shortsize='2' shrpenv='' shsharp='true' -sig_name='ZERO INT ILL FPE SEGV TERM BREAK ABRT' -sig_name_init='"ZERO", "INT", "ILL", "FPE", "SEGV", "TERM", "BREAK", "ABRT", 0' -sig_num='0, 2, 4, 8, 11, 15, 21, 22, 0' +sig_name='ZERO INT QUIT ILL FPE KILL SEGV PIPE ALRM TERM CHLD BREAK ABRT STOP CONT CLD' +sig_name_init='"ZERO", "INT", "QUIT", "ILL", "FPE", "KILL", "SEGV", "PIPE", "ALRM", "TERM", "CHLD", "BREAK", "ABRT", "STOP", "CONT", "CLD", 0' +sig_num='0, 2, 3, 4, 8, 9, 11, 13, 14, 15, 20, 21, 22, 23, 25, 20, 0' signal_t='void' sitearch='' sitearchexp='' diff --git a/win32/config.vc b/win32/config.vc index d319ac66bb..3a3f81e90b 100644 --- a/win32/config.vc +++ b/win32/config.vc @@ -29,7 +29,6 @@ awk='awk' baserev='5.0' bash='' bin='~INST_TOP~\bin' -bincompat3='' binexp='~INST_TOP~\bin' bison='' byacc='byacc' @@ -69,7 +68,6 @@ d_archlib='undef' d_attribut='undef' d_bcmp='undef' d_bcopy='undef' -d_bincompat3='undef' d_bsd='define' d_bsdgetpgrp='undef' d_bsdsetpgrp='undef' @@ -93,6 +91,10 @@ d_dlopen='define' d_dlsymun='undef' d_dosuid='undef' d_dup2='define' +d_endhent='undef' +d_endnent='undef' +d_endpent='undef' +d_endsent='undef' d_eofnblk='define' d_eunice='undef' d_fchmod='undef' @@ -113,18 +115,25 @@ d_gethbyaddr='define' d_gethbyname='define' d_gethent='undef' d_gethname='define' +d_gethostprotos='define' d_getlogin='define' d_getnbyaddr='undef' d_getnbyname='undef' +d_getnent='undef' +d_getnetprotos='undef' d_getpbyname='define' d_getpbynumber='define' +d_getpent='undef' d_getpgid='undef' d_getpgrp2='undef' d_getpgrp='undef' d_getppid='undef' d_getprior='undef' +d_getprotoprotos='define' d_getsbyname='define' d_getsbyport='define' +d_getsent='undef' +d_getservprotos='define' d_gettimeod='undef' d_gnulibc='undef' d_htonl='define' @@ -135,6 +144,8 @@ d_killpg='undef' d_link='undef' d_locconv='define' d_lockf='undef' +d_longdbl='define' +d_longlong='undef' d_lstat='undef' d_mblen='define' d_mbstowcs='define' @@ -145,6 +156,7 @@ d_memmove='define' d_memset='define' d_mkdir='define' d_mkfifo='undef' +d_mkstemp='undef' d_mktime='define' d_msg='undef' d_msgctl='define' @@ -191,6 +203,8 @@ d_setgrps='undef' d_sethent='undef' d_setlinebuf='undef' d_setlocale='define' +d_setnent='undef' +d_setpent='undef' d_setpgid='undef' d_setpgrp2='undef' d_setpgrp='undef' @@ -201,7 +215,9 @@ d_setresuid='undef' d_setreuid='undef' d_setrgid='undef' d_setruid='undef' +d_setsent='undef' d_setsid='undef' +d_setvbuf='define' d_sfio='undef' d_shm='undef' d_shmat='undef' @@ -375,6 +391,8 @@ ln='' lns='copy' locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include' loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib' +longdblsize='10' +longlongsize='8' longsize='4' lp='' lpr='' @@ -458,9 +476,9 @@ shmattype='void *' shortsize='2' shrpenv='' shsharp='true' -sig_name='ZERO INT ILL FPE SEGV TERM BREAK ABRT' -sig_name_init='"ZERO", "INT", "ILL", "FPE", "SEGV", "TERM", "BREAK", "ABRT", 0' -sig_num='0, 2, 4, 8, 11, 15, 21, 22, 0' +sig_name='ZERO INT QUIT ILL FPE KILL SEGV PIPE ALRM TERM CHLD BREAK ABRT STOP CONT CLD' +sig_name_init='"ZERO", "INT", "QUIT", "ILL", "FPE", "KILL", "SEGV", "PIPE", "ALRM", "TERM", "CHLD", "BREAK", "ABRT", "STOP", "CONT", "CLD", 0' +sig_num='0, 2, 3, 4, 8, 9, 11, 13, 14, 15, 20, 21, 22, 23, 25, 20, 0' signal_t='void' sitearch='' sitearchexp='' diff --git a/win32/config_H.bc b/win32/config_H.bc index c8cfe4a840..9a8043d4a4 100644 --- a/win32/config_H.bc +++ b/win32/config_H.bc @@ -637,17 +637,6 @@ #define Shmat_t void * /**/ /*#define HAS_SHMAT_PROTOTYPE /**/ -/* HAS_SOCKET: - * This symbol, if defined, indicates that the BSD socket interface is - * supported. - */ -/* HAS_SOCKETPAIR: - * This symbol, if defined, indicates that the BSD socketpair() call is - * supported. - */ -#define HAS_SOCKET /**/ -/*#define HAS_SOCKETPAIR /**/ - /* USE_STAT_BLOCKS: * This symbol is defined if this system has a stat structure declaring * st_blksize and st_blocks. @@ -758,20 +747,6 @@ */ /*#define HAS_TCSETPGRP /**/ -/* Time_t: - * This symbol holds the type returned by time(). It can be long, - * or time_t on BSD sites (in which case <sys/types.h> 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 <sys/times.h>. - */ -#define HAS_TIMES /**/ - /* HAS_TRUNCATE: * This symbol, if defined, indicates that the truncate routine is * available to truncate files. @@ -827,22 +802,6 @@ */ #define HAS_WCTOMB /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Fpos_t fpos_t /* File position type */ - -/* 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 <sys/types.h> to get - * any typedef'ed information. - */ -#define Gid_t gid_t /* Type for getgid(), etc... */ - /* I_DBM: * This symbol, if defined, indicates that <dbm.h> exists and should * be included. @@ -1055,12 +1014,6 @@ */ /*#define I_SYS_TIMES /**/ -/* I_SYS_TYPES: - * This symbol, if defined, indicates to the C program that it should - * include <sys/types.h>. - */ -#define I_SYS_TYPES /**/ - /* I_SYS_UN: * This symbol, if defined, indicates to the C program that it should * include <sys/un.h> to get UNIX domain socket definitions. @@ -1130,13 +1083,6 @@ */ /*#define I_VFORK /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Off_t off_t /* <offset> type */ - /* Free_t: * This variable contains the return type of free(). It is usually * void, but occasionally int. @@ -1152,21 +1098,6 @@ */ /*#define MYMALLOC /**/ -/* 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 <sys/types.h> - * to get any typedef'ed information. - */ -#define Mode_t mode_t /* file mode parameter for system calls */ - -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Pid_t int /* PID type */ - /* CAN_PROTOTYPE: * If defined, this macro indicates that the C compiler can handle * function prototypes. @@ -1194,27 +1125,12 @@ */ #define SH_PATH "cmd /x /c" /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Size_t size_t /* length paramater for string functions */ - /* STDCHAR: * This symbol is defined to be the type of char used in stdio.h. * It has the values "unsigned char" or "char". */ #define STDCHAR unsigned char /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Uid_t uid_t /* UID type */ - /* VOIDFLAGS: * This symbol indicates how much support of the void type is given by this * compiler. What various bits mean: @@ -1594,10 +1510,36 @@ #endif /* CSH: - * This symbol, if defined, indicates that the C-shell exists. - * If defined, contains the full pathname of csh. + * This symbol, if defined, contains the full pathname of csh. + */ +/*#define HAS_CSH /**/ +#ifdef HAS_CSH +#define CSH "" /**/ +#endif + +/* HAS_ENDHOSTENT: + * This symbol, if defined, indicates that the endhostent() routine is + * available to close whatever was being used for host queries. */ -/*#define CSH "" /**/ +/*#define HAS_ENDHOSTENT /**/ + +/* HAS_ENDNETENT: + * This symbol, if defined, indicates that the endnetent() routine is + * available to close whatever was being used for network queries. + */ +/*#define HAS_ENDNETENT /**/ + +/* HAS_ENDPROTOENT: + * This symbol, if defined, indicates that the endprotoent() routine is + * available to close whatever was being used for protocol queries. + */ +/*#define HAS_ENDPROTOENT /**/ + +/* HAS_ENDSERVENT: + * This symbol, if defined, indicates that the endservent() routine is + * available to close whatever was being used for service queries. + */ +/*#define HAS_ENDSERVENT /**/ /* HAS_GETHOSTBYADDR: * This symbol, if defined, indicates that the gethostbyaddr() routine is @@ -1629,6 +1571,18 @@ */ /*#define HAS_GETNETBYNAME /**/ +/* HAS_GETNETENT: + * This symbol, if defined, indicates that the getnetent() routine is + * available to look up network names in some data base or another. + */ +/*#define HAS_GETNETENT /**/ + +/* HAS_GETPROTOENT: + * This symbol, if defined, indicates that the getprotoent() routine is + * available to look up protocols in some data base or another. + */ +/*#define HAS_GETPROTOENT /**/ + /* HAS_GETPROTOBYNAME: * This symbol, if defined, indicates that the getprotobyname() * routine is available to look up protocols by their name. @@ -1640,6 +1594,12 @@ #define HAS_GETPROTOBYNAME /**/ #define HAS_GETPROTOBYNUMBER /**/ +/* 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_GETSERVBYNAME: * This symbol, if defined, indicates that the getservbyname() * routine is available to look up services by their name. @@ -1651,6 +1611,40 @@ #define HAS_GETSERVBYNAME /**/ #define HAS_GETSERVBYPORT /**/ +/* HAS_LONG_DOUBLE: + * This symbol will be defined if the C compiler supports long + * doubles. + */ +/* 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. + */ +#define HAS_LONG_DOUBLE /**/ +#ifdef HAS_LONG_DOUBLE +#define LONG_DOUBLESIZE 10 /**/ +#endif + +/* HAS_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 + * C preprocessor can make decisions based on it. It is only + * defined if the system supports long long. + */ +/*#define HAS_LONG_LONG /**/ +#ifdef HAS_LONG_LONG +#define LONGLONGSIZE 8 /**/ +#endif + +/* HAS_MKSTEMP: + * This symbol, if defined, indicates that the mkstemp routine is + * available to create and open a unique temporary file. + */ +/*#define HAS_MKSTEMP /**/ + /* HAS_SETGROUPS: * This symbol, if defined, indicates that the setgroups() routine is * available to set the list of process groups. If unavailable, multiple @@ -1664,6 +1658,42 @@ */ /*#define HAS_SETHOSTENT /**/ +/* HAS_SETNETENT: + * This symbol, if defined, indicates that the setnetent() routine is + * available. + */ +/*#define HAS_SETNETENT /**/ + +/* HAS_SETPROTOENT: + * This symbol, if defined, indicates that the setprotoent() routine is + * available. + */ +/*#define HAS_SETPROTOENT /**/ + +/* HAS_SETSERVENT: + * This symbol, if defined, indicates that the setservent() routine is + * available. + */ +/*#define HAS_SETSERVENT /**/ + +/* HAS_SETVBUF: + * This symbol, if defined, indicates that the setvbuf routine is + * available to change buffering on an open stdio stream. + * to a line-buffered mode. + */ +#define HAS_SETVBUF /**/ + +/* HAS_SOCKET: + * This symbol, if defined, indicates that the BSD socket interface is + * supported. + */ +/* HAS_SOCKETPAIR: + * This symbol, if defined, indicates that the BSD socketpair() call is + * supported. + */ +#define HAS_SOCKET /**/ +/*#define HAS_SOCKETPAIR /**/ + /* 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 @@ -1691,6 +1721,12 @@ */ /*#define I_NETDB /**/ +/* I_SYS_TYPES: + * This symbol, if defined, indicates to the C program that it should + * include <sys/types.h>. + */ +#define I_SYS_TYPES /**/ + /* PRIVLIB: * 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 @@ -1704,37 +1740,6 @@ #define PRIVLIB "c:\\perl5004.5x\\lib" /**/ #define PRIVLIB_EXP (win32_get_stdlib(patchlevel)) /**/ -/* 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", "INT", "ILL", "FPE", "SEGV", "TERM", "USR1", "USR2", "USR3", "BREAK", "ABRT", 0 /**/ -#define SIG_NUM 0, 2, 4, 8, 11, 15, 16, 17, 20, 21, 22, 0 /**/ - /* 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 @@ -1814,6 +1819,38 @@ */ /*#define USE_PERLIO /**/ +/* HAS_GETHOST_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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_GETNET_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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_GETPROTO_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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_GETSERV_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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 /**/ + /* Netdb_host_t: * This symbol holds the type used for the 1st argument * to gethostbyaddr(). @@ -1843,6 +1880,37 @@ */ #define Select_fd_set_t Perl_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", "INT", "QUIT", "ILL", "FPE", "KILL", "SEGV", "PIPE", "ALRM", "TERM", "USR1", "USR2", "CHLD", "USR3", "BREAK", "ABRT", "STOP", "CONT", "CLD", 0 /**/ +#define SIG_NUM 0, 2, 3, 4, 8, 9, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 25, 18, 0 /**/ + /* ARCHNAME: * This symbol holds a string representing the architecture name. * It may be used to construct an architecture-dependant pathname @@ -1875,5 +1943,72 @@ /*#define USE_THREADS /**/ /*#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 <sys/types.h> 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 <sys/times.h>. + */ +#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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Fpos_t fpos_t /* File position type */ + +/* 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 <sys/types.h> to get + * any typedef'ed information. + */ +#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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Off_t off_t /* <offset> type */ + +/* 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 <sys/types.h> + * to get any typedef'ed information. + */ +#define Mode_t mode_t /* file mode parameter for system calls */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Pid_t int /* PID type */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Size_t size_t /* length paramater for string functions */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Uid_t uid_t /* UID type */ + #endif #include <win32.h> diff --git a/win32/config_H.gc b/win32/config_H.gc index e0f404a953..b9486c8616 100644 --- a/win32/config_H.gc +++ b/win32/config_H.gc @@ -637,17 +637,6 @@ #define Shmat_t void * /**/ /*#define HAS_SHMAT_PROTOTYPE /**/ -/* HAS_SOCKET: - * This symbol, if defined, indicates that the BSD socket interface is - * supported. - */ -/* HAS_SOCKETPAIR: - * This symbol, if defined, indicates that the BSD socketpair() call is - * supported. - */ -#define HAS_SOCKET /**/ -/*#define HAS_SOCKETPAIR /**/ - /* USE_STAT_BLOCKS: * This symbol is defined if this system has a stat structure declaring * st_blksize and st_blocks. @@ -758,20 +747,6 @@ */ /*#define HAS_TCSETPGRP /**/ -/* Time_t: - * This symbol holds the type returned by time(). It can be long, - * or time_t on BSD sites (in which case <sys/types.h> 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 <sys/times.h>. - */ -#define HAS_TIMES /**/ - /* HAS_TRUNCATE: * This symbol, if defined, indicates that the truncate routine is * available to truncate files. @@ -827,22 +802,6 @@ */ #define HAS_WCTOMB /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Fpos_t fpos_t /* File position type */ - -/* 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 <sys/types.h> to get - * any typedef'ed information. - */ -#define Gid_t gid_t /* Type for getgid(), etc... */ - /* I_DBM: * This symbol, if defined, indicates that <dbm.h> exists and should * be included. @@ -1055,12 +1014,6 @@ */ /*#define I_SYS_TIMES /**/ -/* I_SYS_TYPES: - * This symbol, if defined, indicates to the C program that it should - * include <sys/types.h>. - */ -#define I_SYS_TYPES /**/ - /* I_SYS_UN: * This symbol, if defined, indicates to the C program that it should * include <sys/un.h> to get UNIX domain socket definitions. @@ -1130,13 +1083,6 @@ */ /*#define I_VFORK /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Off_t off_t /* <offset> type */ - /* Free_t: * This variable contains the return type of free(). It is usually * void, but occasionally int. @@ -1152,21 +1098,6 @@ */ /*#define MYMALLOC /**/ -/* 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 <sys/types.h> - * to get any typedef'ed information. - */ -#define Mode_t mode_t /* file mode parameter for system calls */ - -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Pid_t int /* PID type */ - /* CAN_PROTOTYPE: * If defined, this macro indicates that the C compiler can handle * function prototypes. @@ -1194,27 +1125,12 @@ */ #define SH_PATH "cmd /x /c" /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Size_t size_t /* length paramater for string functions */ - /* STDCHAR: * 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 /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Uid_t uid_t /* UID type */ - /* VOIDFLAGS: * This symbol indicates how much support of the void type is given by this * compiler. What various bits mean: @@ -1594,10 +1510,36 @@ #endif /* CSH: - * This symbol, if defined, indicates that the C-shell exists. - * If defined, contains the full pathname of csh. + * This symbol, if defined, contains the full pathname of csh. + */ +/*#define HAS_CSH /**/ +#ifdef HAS_CSH +#define CSH "" /**/ +#endif + +/* HAS_ENDHOSTENT: + * This symbol, if defined, indicates that the endhostent() routine is + * available to close whatever was being used for host queries. */ -/*#define CSH "" /**/ +/*#define HAS_ENDHOSTENT /**/ + +/* HAS_ENDNETENT: + * This symbol, if defined, indicates that the endnetent() routine is + * available to close whatever was being used for network queries. + */ +/*#define HAS_ENDNETENT /**/ + +/* HAS_ENDPROTOENT: + * This symbol, if defined, indicates that the endprotoent() routine is + * available to close whatever was being used for protocol queries. + */ +/*#define HAS_ENDPROTOENT /**/ + +/* HAS_ENDSERVENT: + * This symbol, if defined, indicates that the endservent() routine is + * available to close whatever was being used for service queries. + */ +/*#define HAS_ENDSERVENT /**/ /* HAS_GETHOSTBYADDR: * This symbol, if defined, indicates that the gethostbyaddr() routine is @@ -1629,6 +1571,18 @@ */ /*#define HAS_GETNETBYNAME /**/ +/* HAS_GETNETENT: + * This symbol, if defined, indicates that the getnetent() routine is + * available to look up network names in some data base or another. + */ +/*#define HAS_GETNETENT /**/ + +/* HAS_GETPROTOENT: + * This symbol, if defined, indicates that the getprotoent() routine is + * available to look up protocols in some data base or another. + */ +/*#define HAS_GETPROTOENT /**/ + /* HAS_GETPROTOBYNAME: * This symbol, if defined, indicates that the getprotobyname() * routine is available to look up protocols by their name. @@ -1640,6 +1594,12 @@ #define HAS_GETPROTOBYNAME /**/ #define HAS_GETPROTOBYNUMBER /**/ +/* 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_GETSERVBYNAME: * This symbol, if defined, indicates that the getservbyname() * routine is available to look up services by their name. @@ -1651,6 +1611,40 @@ #define HAS_GETSERVBYNAME /**/ #define HAS_GETSERVBYPORT /**/ +/* HAS_LONG_DOUBLE: + * This symbol will be defined if the C compiler supports long + * doubles. + */ +/* 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. + */ +#define HAS_LONG_DOUBLE /**/ +#ifdef HAS_LONG_DOUBLE +#define LONG_DOUBLESIZE 12 /**/ +#endif + +/* HAS_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 + * C preprocessor can make decisions based on it. It is only + * defined if the system supports long long. + */ +/*#define HAS_LONG_LONG /**/ +#ifdef HAS_LONG_LONG +#define LONGLONGSIZE 8 /**/ +#endif + +/* HAS_MKSTEMP: + * This symbol, if defined, indicates that the mkstemp routine is + * available to create and open a unique temporary file. + */ +/*#define HAS_MKSTEMP /**/ + /* HAS_SETGROUPS: * This symbol, if defined, indicates that the setgroups() routine is * available to set the list of process groups. If unavailable, multiple @@ -1664,6 +1658,42 @@ */ /*#define HAS_SETHOSTENT /**/ +/* HAS_SETNETENT: + * This symbol, if defined, indicates that the setnetent() routine is + * available. + */ +/*#define HAS_SETNETENT /**/ + +/* HAS_SETPROTOENT: + * This symbol, if defined, indicates that the setprotoent() routine is + * available. + */ +/*#define HAS_SETPROTOENT /**/ + +/* HAS_SETSERVENT: + * This symbol, if defined, indicates that the setservent() routine is + * available. + */ +/*#define HAS_SETSERVENT /**/ + +/* HAS_SETVBUF: + * This symbol, if defined, indicates that the setvbuf routine is + * available to change buffering on an open stdio stream. + * to a line-buffered mode. + */ +#define HAS_SETVBUF /**/ + +/* HAS_SOCKET: + * This symbol, if defined, indicates that the BSD socket interface is + * supported. + */ +/* HAS_SOCKETPAIR: + * This symbol, if defined, indicates that the BSD socketpair() call is + * supported. + */ +#define HAS_SOCKET /**/ +/*#define HAS_SOCKETPAIR /**/ + /* 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 @@ -1691,6 +1721,12 @@ */ /*#define I_NETDB /**/ +/* I_SYS_TYPES: + * This symbol, if defined, indicates to the C program that it should + * include <sys/types.h>. + */ +#define I_SYS_TYPES /**/ + /* PRIVLIB: * 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 @@ -1704,37 +1740,6 @@ #define PRIVLIB "c:\\perl5004.5x\\lib" /**/ #define PRIVLIB_EXP (win32_get_stdlib(patchlevel)) /**/ -/* 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", "INT", "ILL", "FPE", "SEGV", "TERM", "BREAK", "ABRT", 0 /**/ -#define SIG_NUM 0, 2, 4, 8, 11, 15, 21, 22, 0 /**/ - /* 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 @@ -1814,6 +1819,38 @@ */ /*#define USE_PERLIO /**/ +/* HAS_GETHOST_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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_GETNET_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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_GETPROTO_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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_GETSERV_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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 /**/ + /* Netdb_host_t: * This symbol holds the type used for the 1st argument * to gethostbyaddr(). @@ -1843,6 +1880,37 @@ */ #define Select_fd_set_t Perl_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", "INT", "QUIT", "ILL", "FPE", "KILL", "SEGV", "PIPE", "ALRM", "TERM", "CHLD", "BREAK", "ABRT", "STOP", "CONT", "CLD", 0 /**/ +#define SIG_NUM 0, 2, 3, 4, 8, 9, 11, 13, 14, 15, 20, 21, 22, 23, 25, 20, 0 /**/ + /* ARCHNAME: * This symbol holds a string representing the architecture name. * It may be used to construct an architecture-dependant pathname @@ -1875,5 +1943,72 @@ /*#define USE_THREADS /**/ /*#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 <sys/types.h> 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 <sys/times.h>. + */ +#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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Fpos_t fpos_t /* File position type */ + +/* 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 <sys/types.h> to get + * any typedef'ed information. + */ +#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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Off_t off_t /* <offset> type */ + +/* 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 <sys/types.h> + * to get any typedef'ed information. + */ +#define Mode_t mode_t /* file mode parameter for system calls */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Pid_t int /* PID type */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Size_t size_t /* length paramater for string functions */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Uid_t uid_t /* UID type */ + #endif #include <win32.h> diff --git a/win32/config_H.vc b/win32/config_H.vc index c3d2e35ce9..bdce05ee95 100644 --- a/win32/config_H.vc +++ b/win32/config_H.vc @@ -637,17 +637,6 @@ #define Shmat_t void * /**/ /*#define HAS_SHMAT_PROTOTYPE /**/ -/* HAS_SOCKET: - * This symbol, if defined, indicates that the BSD socket interface is - * supported. - */ -/* HAS_SOCKETPAIR: - * This symbol, if defined, indicates that the BSD socketpair() call is - * supported. - */ -#define HAS_SOCKET /**/ -/*#define HAS_SOCKETPAIR /**/ - /* USE_STAT_BLOCKS: * This symbol is defined if this system has a stat structure declaring * st_blksize and st_blocks. @@ -758,20 +747,6 @@ */ /*#define HAS_TCSETPGRP /**/ -/* Time_t: - * This symbol holds the type returned by time(). It can be long, - * or time_t on BSD sites (in which case <sys/types.h> 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 <sys/times.h>. - */ -#define HAS_TIMES /**/ - /* HAS_TRUNCATE: * This symbol, if defined, indicates that the truncate routine is * available to truncate files. @@ -827,22 +802,6 @@ */ #define HAS_WCTOMB /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Fpos_t fpos_t /* File position type */ - -/* 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 <sys/types.h> to get - * any typedef'ed information. - */ -#define Gid_t gid_t /* Type for getgid(), etc... */ - /* I_DBM: * This symbol, if defined, indicates that <dbm.h> exists and should * be included. @@ -1055,12 +1014,6 @@ */ /*#define I_SYS_TIMES /**/ -/* I_SYS_TYPES: - * This symbol, if defined, indicates to the C program that it should - * include <sys/types.h>. - */ -#define I_SYS_TYPES /**/ - /* I_SYS_UN: * This symbol, if defined, indicates to the C program that it should * include <sys/un.h> to get UNIX domain socket definitions. @@ -1130,13 +1083,6 @@ */ /*#define I_VFORK /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Off_t off_t /* <offset> type */ - /* Free_t: * This variable contains the return type of free(). It is usually * void, but occasionally int. @@ -1152,21 +1098,6 @@ */ /*#define MYMALLOC /**/ -/* 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 <sys/types.h> - * to get any typedef'ed information. - */ -#define Mode_t mode_t /* file mode parameter for system calls */ - -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Pid_t int /* PID type */ - /* CAN_PROTOTYPE: * If defined, this macro indicates that the C compiler can handle * function prototypes. @@ -1194,27 +1125,12 @@ */ #define SH_PATH "cmd /x /c" /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Size_t size_t /* length paramater for string functions */ - /* STDCHAR: * 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 /**/ -/* 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 - * <sys/types.h> to get any typedef'ed information. - */ -#define Uid_t uid_t /* UID type */ - /* VOIDFLAGS: * This symbol indicates how much support of the void type is given by this * compiler. What various bits mean: @@ -1594,10 +1510,36 @@ #endif /* CSH: - * This symbol, if defined, indicates that the C-shell exists. - * If defined, contains the full pathname of csh. + * This symbol, if defined, contains the full pathname of csh. + */ +/*#define HAS_CSH /**/ +#ifdef HAS_CSH +#define CSH "" /**/ +#endif + +/* HAS_ENDHOSTENT: + * This symbol, if defined, indicates that the endhostent() routine is + * available to close whatever was being used for host queries. */ -/*#define CSH "" /**/ +/*#define HAS_ENDHOSTENT /**/ + +/* HAS_ENDNETENT: + * This symbol, if defined, indicates that the endnetent() routine is + * available to close whatever was being used for network queries. + */ +/*#define HAS_ENDNETENT /**/ + +/* HAS_ENDPROTOENT: + * This symbol, if defined, indicates that the endprotoent() routine is + * available to close whatever was being used for protocol queries. + */ +/*#define HAS_ENDPROTOENT /**/ + +/* HAS_ENDSERVENT: + * This symbol, if defined, indicates that the endservent() routine is + * available to close whatever was being used for service queries. + */ +/*#define HAS_ENDSERVENT /**/ /* HAS_GETHOSTBYADDR: * This symbol, if defined, indicates that the gethostbyaddr() routine is @@ -1629,6 +1571,18 @@ */ /*#define HAS_GETNETBYNAME /**/ +/* HAS_GETNETENT: + * This symbol, if defined, indicates that the getnetent() routine is + * available to look up network names in some data base or another. + */ +/*#define HAS_GETNETENT /**/ + +/* HAS_GETPROTOENT: + * This symbol, if defined, indicates that the getprotoent() routine is + * available to look up protocols in some data base or another. + */ +/*#define HAS_GETPROTOENT /**/ + /* HAS_GETPROTOBYNAME: * This symbol, if defined, indicates that the getprotobyname() * routine is available to look up protocols by their name. @@ -1640,6 +1594,12 @@ #define HAS_GETPROTOBYNAME /**/ #define HAS_GETPROTOBYNUMBER /**/ +/* 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_GETSERVBYNAME: * This symbol, if defined, indicates that the getservbyname() * routine is available to look up services by their name. @@ -1651,6 +1611,40 @@ #define HAS_GETSERVBYNAME /**/ #define HAS_GETSERVBYPORT /**/ +/* HAS_LONG_DOUBLE: + * This symbol will be defined if the C compiler supports long + * doubles. + */ +/* 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. + */ +#define HAS_LONG_DOUBLE /**/ +#ifdef HAS_LONG_DOUBLE +#define LONG_DOUBLESIZE 10 /**/ +#endif + +/* HAS_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 + * C preprocessor can make decisions based on it. It is only + * defined if the system supports long long. + */ +/*#define HAS_LONG_LONG /**/ +#ifdef HAS_LONG_LONG +#define LONGLONGSIZE 8 /**/ +#endif + +/* HAS_MKSTEMP: + * This symbol, if defined, indicates that the mkstemp routine is + * available to create and open a unique temporary file. + */ +/*#define HAS_MKSTEMP /**/ + /* HAS_SETGROUPS: * This symbol, if defined, indicates that the setgroups() routine is * available to set the list of process groups. If unavailable, multiple @@ -1664,6 +1658,42 @@ */ /*#define HAS_SETHOSTENT /**/ +/* HAS_SETNETENT: + * This symbol, if defined, indicates that the setnetent() routine is + * available. + */ +/*#define HAS_SETNETENT /**/ + +/* HAS_SETPROTOENT: + * This symbol, if defined, indicates that the setprotoent() routine is + * available. + */ +/*#define HAS_SETPROTOENT /**/ + +/* HAS_SETSERVENT: + * This symbol, if defined, indicates that the setservent() routine is + * available. + */ +/*#define HAS_SETSERVENT /**/ + +/* HAS_SETVBUF: + * This symbol, if defined, indicates that the setvbuf routine is + * available to change buffering on an open stdio stream. + * to a line-buffered mode. + */ +#define HAS_SETVBUF /**/ + +/* HAS_SOCKET: + * This symbol, if defined, indicates that the BSD socket interface is + * supported. + */ +/* HAS_SOCKETPAIR: + * This symbol, if defined, indicates that the BSD socketpair() call is + * supported. + */ +#define HAS_SOCKET /**/ +/*#define HAS_SOCKETPAIR /**/ + /* 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 @@ -1691,6 +1721,12 @@ */ /*#define I_NETDB /**/ +/* I_SYS_TYPES: + * This symbol, if defined, indicates to the C program that it should + * include <sys/types.h>. + */ +#define I_SYS_TYPES /**/ + /* PRIVLIB: * 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 @@ -1704,37 +1740,6 @@ #define PRIVLIB "c:\\perl5004.5x\\lib" /**/ #define PRIVLIB_EXP (win32_get_stdlib(patchlevel)) /**/ -/* 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", "INT", "ILL", "FPE", "SEGV", "TERM", "BREAK", "ABRT", 0 /**/ -#define SIG_NUM 0, 2, 4, 8, 11, 15, 21, 22, 0 /**/ - /* 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 @@ -1814,6 +1819,38 @@ */ /*#define USE_PERLIO /**/ +/* HAS_GETHOST_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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_GETNET_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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_GETPROTO_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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_GETSERV_PROTOS: + * This symbol, if defined, indicates that <netdb.h> 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 /**/ + /* Netdb_host_t: * This symbol holds the type used for the 1st argument * to gethostbyaddr(). @@ -1843,6 +1880,37 @@ */ #define Select_fd_set_t Perl_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", "INT", "QUIT", "ILL", "FPE", "KILL", "SEGV", "PIPE", "ALRM", "TERM", "CHLD", "BREAK", "ABRT", "STOP", "CONT", "CLD", 0 /**/ +#define SIG_NUM 0, 2, 3, 4, 8, 9, 11, 13, 14, 15, 20, 21, 22, 23, 25, 20, 0 /**/ + /* ARCHNAME: * This symbol holds a string representing the architecture name. * It may be used to construct an architecture-dependant pathname @@ -1875,5 +1943,72 @@ /*#define USE_THREADS /**/ /*#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 <sys/types.h> 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 <sys/times.h>. + */ +#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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Fpos_t fpos_t /* File position type */ + +/* 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 <sys/types.h> to get + * any typedef'ed information. + */ +#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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Off_t off_t /* <offset> type */ + +/* 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 <sys/types.h> + * to get any typedef'ed information. + */ +#define Mode_t mode_t /* file mode parameter for system calls */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Pid_t int /* PID type */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Size_t size_t /* length paramater for string functions */ + +/* 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 + * <sys/types.h> to get any typedef'ed information. + */ +#define Uid_t uid_t /* UID type */ + #endif #include <win32.h> diff --git a/win32/makefile.mk b/win32/makefile.mk index ee329b90d6..9e59de7c52 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -781,7 +781,7 @@ doc: $(PERLEXE) cd ..\pod && $(XCOPY) *.bat ..\win32\bin\*.* copy ..\README.win32 ..\pod\perlwin32.pod $(PERLEXE) -I..\lib ..\installhtml --podroot=.. --htmldir=./html \ - --podpath=pod:lib:ext:utils --htmlroot="//$(INST_HTML:s,:,|,)" \ + --podpath=pod:lib:ext:utils --htmlroot="file://$(INST_HTML:s,:,|,)"\ --libpod=perlfunc:perlguts:perlvar:perlrun:perlop --recurse utils: $(PERLEXE) diff --git a/win32/win32.c b/win32/win32.c index 7733c05c14..7208e6bd08 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -20,6 +20,18 @@ #endif #include <windows.h> +#ifndef __MINGW32__ +#include <lmcons.h> +#include <lmerr.h> +/* ugliness to work around a buggy struct definition in lmwksta.h */ +#undef LPTSTR +#define LPTSTR LPWSTR +#include <lmwksta.h> +#undef LPTSTR +#define LPTSTR LPSTR +#include <lmapibuf.h> +#endif /* __MINGW32__ */ + /* #include "config.h" */ #define PERLIO_NOT_STDIO 0 @@ -112,11 +124,11 @@ HANDLE w32_child_pids[MAXIMUM_WAIT_OBJECTS]; #endif #ifndef FOPEN_MAX -# ifdef _NSTREAM_ +# if defined(_NSTREAM_) # define FOPEN_MAX _NSTREAM_ -# elsif _NFILE_ +# elsif defined(_NFILE_) # define FOPEN_MAX _NFILE_ -# elsif _NFILE +# elsif defined(_NFILE) # define FOPEN_MAX _NFILE # endif #endif @@ -164,17 +176,17 @@ GetRegStrFromKey(HKEY hkey, const char *lpszValueName, char** ptr, DWORD* lpData long retval; retval = RegOpenKeyEx(hkey, subkey, 0, KEY_READ, &handle); - if(retval == ERROR_SUCCESS){ + if (retval == ERROR_SUCCESS){ retval = RegQueryValueEx(handle, lpszValueName, 0, &type, NULL, lpDataLen); - if(retval == ERROR_SUCCESS && type == REG_SZ) { - if(*ptr != NULL) { + if (retval == ERROR_SUCCESS && type == REG_SZ) { + if (*ptr != NULL) { Renew(*ptr, *lpDataLen, char); } else { New(1312, *ptr, *lpDataLen, char); } retval = RegQueryValueEx(handle, lpszValueName, 0, NULL, (PBYTE)*ptr, lpDataLen); - if(retval != ERROR_SUCCESS) { + if (retval != ERROR_SUCCESS) { Safefree(ptr); ptr = NULL; } @@ -188,7 +200,7 @@ char* GetRegStr(const char *lpszValueName, char** ptr, DWORD* lpDataLen) { *ptr = GetRegStrFromKey(HKEY_CURRENT_USER, lpszValueName, ptr, lpDataLen); - if(*ptr == NULL) + if (*ptr == NULL) { *ptr = GetRegStrFromKey(HKEY_LOCAL_MACHINE, lpszValueName, ptr, lpDataLen); } @@ -210,23 +222,23 @@ win32_get_stdlib(char *pl) /* $stdlib = $HKCU{"lib-$]"} || $HKLM{"lib-$]"} || $HKCU{"lib"} || $HKLM{"lib"} || ""; */ sprintf(szBuffer, "%s-%s", szStdLib, pl); lpPath = GetRegStr(szBuffer, &lpPath, &dwDataLen); - if(lpPath == NULL) + if (lpPath == NULL) lpPath = GetRegStr(szStdLib, &lpPath, &dwDataLen); /* $stdlib .= ";$EMD/../../lib" */ GetModuleFileName(GetModuleHandle(NULL), szModuleName, sizeof(szModuleName)); ptr = strrchr(szModuleName, '\\'); - if(ptr != NULL) + if (ptr != NULL) { *ptr = '\0'; ptr = strrchr(szModuleName, '\\'); - if(ptr != NULL) + if (ptr != NULL) { *ptr = '\0'; ptr = strrchr(szModuleName, '\\'); } } - if(ptr == NULL) + if (ptr == NULL) { ptr = szModuleName; *ptr = '\\'; @@ -237,16 +249,16 @@ win32_get_stdlib(char *pl) GetCurrentDirectory(sizeof(szBuffer), szBuffer); result = SetCurrentDirectory(szModuleName); SetCurrentDirectory(szBuffer); - if(result == 0) + if (result == 0) { GetModuleFileName(GetModuleHandle(NULL), szModuleName, sizeof(szModuleName)); ptr = strrchr(szModuleName, '\\'); - if(ptr != NULL) + if (ptr != NULL) strcpy(++ptr, szStdLib); } newSize = strlen(szModuleName) + 1; - if(lpPath != NULL) + if (lpPath != NULL) { len = strlen(lpPath); newSize += len + 1; /* plus 1 for ';' */ @@ -255,9 +267,9 @@ win32_get_stdlib(char *pl) else New(1310, lpPath, newSize, char); - if(lpPath != NULL) + if (lpPath != NULL) { - if(len != 0) + if (len != 0) lpPath[len++] = ';'; strcpy(&lpPath[len], szModuleName); } @@ -280,22 +292,22 @@ get_sitelib_part(char* lpRegStr, char* lpPathStr) /* $sitelib .= ";$EMD/../../../<lpPathStr>" */ GetModuleFileName(GetModuleHandle(NULL), szModuleName, sizeof(szModuleName)); ptr = strrchr(szModuleName, '\\'); - if(ptr != NULL) + if (ptr != NULL) { *ptr = '\0'; ptr = strrchr(szModuleName, '\\'); - if(ptr != NULL) + if (ptr != NULL) { *ptr = '\0'; ptr = strrchr(szModuleName, '\\'); - if(ptr != NULL) + if (ptr != NULL) { *ptr = '\0'; ptr = strrchr(szModuleName, '\\'); } } } - if(ptr == NULL) + if (ptr == NULL) { ptr = szModuleName; *ptr = '\\'; @@ -307,10 +319,10 @@ get_sitelib_part(char* lpRegStr, char* lpPathStr) result = SetCurrentDirectory(szModuleName); SetCurrentDirectory(szBuffer); - if(result) + if (result) { int newSize = strlen(szModuleName) + 1; - if(lpPath != NULL) + if (lpPath != NULL) { len = strlen(lpPath); newSize += len + 1; /* plus 1 for ';' */ @@ -319,9 +331,9 @@ get_sitelib_part(char* lpRegStr, char* lpPathStr) else New(1311, lpPath, newSize, char); - if(lpPath != NULL) + if (lpPath != NULL) { - if(len != 0) + if (len != 0) lpPath[len++] = ';'; strcpy(&lpPath[len], szModuleName); } @@ -345,17 +357,17 @@ win32_get_sitelib(char *pl) /* $HKCU{'sitelib'} || $HKLM{'sitelib'} . ---; */ lpPath2 = get_sitelib_part(szSiteLib, "site\\lib"); - if(lpPath1 == NULL) + if (lpPath1 == NULL) return lpPath2; - if(lpPath2 == NULL) + if (lpPath2 == NULL) return lpPath1; int len = strlen(lpPath1); int newSize = len + strlen(lpPath2) + 2; /* plus one for ';' */ lpPath1 = Renew(lpPath1, newSize, char); - if(lpPath1 != NULL) + if (lpPath1 != NULL) { lpPath1[len++] = ';'; strcpy(&lpPath1[len], lpPath2); @@ -375,12 +387,12 @@ has_redirection(char *ptr) * Scan string looking for redirection (< or >) or pipe * characters (|) that are not in a quoted string */ - while(*ptr) { + while (*ptr) { switch(*ptr) { case '\'': case '\"': - if(inquote) { - if(quote == *ptr) { + if (inquote) { + if (quote == *ptr) { inquote = 0; quote = '\0'; } @@ -393,7 +405,7 @@ has_redirection(char *ptr) case '>': case '<': case '|': - if(!inquote) + if (!inquote) return TRUE; default: break; @@ -546,7 +558,7 @@ do_aspawn(void *vreally, void **vmark, void **vsp) flag = SvIVx(*mark); } - while(++mark <= sp) { + while (++mark <= sp) { if (*mark && (str = SvPV(*mark, na))) argv[index++] = str; else @@ -598,7 +610,7 @@ do_spawn2(char *cmd, int exectype) /* Save an extra exec if possible. See if there are shell * metacharacters in it */ - if(!has_redirection(cmd)) { + if (!has_redirection(cmd)) { New(1301,argv, strlen(cmd) / 2 + 2, char*); New(1302,cmd2, strlen(cmd) + 1, char); strcpy(cmd2, cmd); @@ -608,9 +620,9 @@ do_spawn2(char *cmd, int exectype) s++; if (*s) *(a++) = s; - while(*s && !isspace(*s)) + while (*s && !isspace(*s)) s++; - if(*s) + if (*s) *s++ = '\0'; } *a = Nullch; @@ -693,9 +705,6 @@ do_exec(char *cmd) return FALSE; } - -#define PATHLEN 1024 - /* The idea here is to read all the directory names into a string table * (separated by nulls) and when one of the other dir functions is called * return the pointer to the current file name. @@ -703,19 +712,17 @@ do_exec(char *cmd) DIR * opendir(char *filename) { - DIR *p; - long len; - long idx; - char scannamespc[PATHLEN]; - char *scanname = scannamespc; - struct stat sbuf; - WIN32_FIND_DATA FindData; - HANDLE fh; -/* char root[_MAX_PATH];*/ -/* char volname[_MAX_PATH];*/ -/* DWORD serial, maxname, flags;*/ -/* BOOL downcase;*/ -/* char *dummy;*/ + DIR *p; + long len; + long idx; + char scanname[MAX_PATH+3]; + struct stat sbuf; + WIN32_FIND_DATA FindData; + HANDLE fh; + + len = strlen(filename); + if (len > MAX_PATH) + return NULL; /* check to see if filename is a directory */ if (win32_stat(filename, &sbuf) < 0 || (sbuf.st_mode & S_IFDIR) == 0) { @@ -725,35 +732,21 @@ opendir(char *filename) return NULL; } - /* get the file system characteristics */ -/* if(GetFullPathName(filename, MAX_PATH, root, &dummy)) { - * if(dummy = strchr(root, '\\')) - * *++dummy = '\0'; - * if(GetVolumeInformation(root, volname, MAX_PATH, &serial, - * &maxname, &flags, 0, 0)) { - * downcase = !(flags & FS_CASE_IS_PRESERVED); - * } - * } - * else { - * downcase = TRUE; - * } - */ /* Get us a DIR structure */ Newz(1303, p, 1, DIR); - if(p == NULL) + if (p == NULL) return NULL; /* Create the search pattern */ strcpy(scanname, filename); - - if(index("/\\", *(scanname + strlen(scanname) - 1)) == NULL) - strcat(scanname, "/*"); - else - strcat(scanname, "*"); + if (scanname[len-1] != '/' && scanname[len-1] != '\\') + scanname[len++] = '/'; + scanname[len++] = '*'; + scanname[len] = '\0'; /* do the FindFirstFile call */ fh = FindFirstFile(scanname, &FindData); - if(fh == INVALID_HANDLE_VALUE) { + if (fh == INVALID_HANDLE_VALUE) { return NULL; } @@ -762,13 +755,9 @@ opendir(char *filename) */ idx = strlen(FindData.cFileName)+1; New(1304, p->start, idx, char); - if(p->start == NULL) { + if (p->start == NULL) croak("opendir: malloc failed!\n"); - } strcpy(p->start, FindData.cFileName); -/* if(downcase) - * strlwr(p->start); - */ p->nfiles++; /* loop finding all the files that match the wildcard @@ -782,20 +771,16 @@ opendir(char *filename) * new name and it's null terminator */ Renew(p->start, idx+len+1, char); - if(p->start == NULL) { + if (p->start == NULL) croak("opendir: malloc failed!\n"); - } strcpy(&p->start[idx], FindData.cFileName); -/* if (downcase) - * strlwr(&p->start[idx]); - */ - p->nfiles++; - idx += len+1; - } - FindClose(fh); - p->size = idx; - p->curr = p->start; - return p; + p->nfiles++; + idx += len+1; + } + FindClose(fh); + p->size = idx; + p->curr = p->start; + return p; } @@ -1018,9 +1003,9 @@ win32_getenv(const char *name) curlen = needlen; needlen = GetEnvironmentVariable(name,curitem,curlen); } - if(curitem == NULL) + if (curitem == NULL) { - if(strcmp("PERL5DB", name) == 0) + if (strcmp("PERL5DB", name) == 0) curitem = GetRegStr(name, &curitem, &curlen); } return curitem; @@ -1288,14 +1273,14 @@ my_open_osfhandle(long osfhandle, int flags) /* copy relevant flags from second parameter */ fileflags = FDEV; - if(flags & O_APPEND) + if (flags & O_APPEND) fileflags |= FAPPEND; - if(flags & O_TEXT) + if (flags & O_TEXT) fileflags |= FTEXT; /* attempt to allocate a C Runtime file handle */ - if((fh = _alloc_osfhnd()) == -1) { + if ((fh = _alloc_osfhnd()) == -1) { errno = EMFILE; /* too many open files */ _doserrno = 0L; /* not an OS error */ return -1; /* return error to caller */ @@ -1430,12 +1415,12 @@ win32_strerror(int e) #endif DWORD source = 0; - if(e < 0 || e > sys_nerr) { + if (e < 0 || e > sys_nerr) { dTHR; - if(e < 0) + if (e < 0) e = GetLastError(); - if(FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, &source, e, 0, + if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, &source, e, 0, strerror_buffer, sizeof(strerror_buffer), NULL) == 0) strcpy(strerror_buffer, "Unknown Error"); @@ -2158,6 +2143,8 @@ static XS(w32_DomainName) { dXSARGS; +#ifndef HAS_NETWKSTAGETINFO + /* mingw32 (and Win95) don't have NetWksta*(), so do it the old way */ char name[256]; DWORD size = sizeof(name); if (GetUserName(name,&size)) { @@ -2166,11 +2153,31 @@ XS(w32_DomainName) char dname[256]; DWORD dnamelen = sizeof(dname); SID_NAME_USE snu; - if (LookupAccountName(NULL, name, (PSID)&sid, &sidlen, + if (LookupAccountName(NULL, name, &sid, &sidlen, dname, &dnamelen, &snu)) { XSRETURN_PV(dname); /* all that for this */ } } +#else + /* this way is more reliable, in case user has a local account. + * XXX need dynamic binding of netapi32.dll symbols or this will fail on + * Win95. Probably makes more sense to move it into libwin32. */ + char dname[256]; + DWORD dnamelen = sizeof(dname); + PWKSTA_INFO_100 pwi; + if (NERR_Success == NetWkstaGetInfo(NULL, 100, (LPBYTE*)&pwi)) { + if (pwi->wki100_langroup && *(pwi->wki100_langroup)) { + WideCharToMultiByte(CP_ACP, NULL, pwi->wki100_langroup, + -1, (LPSTR)dname, dnamelen, NULL, NULL); + } + else { + WideCharToMultiByte(CP_ACP, NULL, pwi->wki100_computername, + -1, (LPSTR)dname, dnamelen, NULL, NULL); + } + NetApiBufferFree(pwi); + XSRETURN_PV(dname); + } +#endif XSRETURN_UNDEF; } @@ -2254,7 +2261,7 @@ XS(w32_Spawn) STARTUPINFO stStartInfo; BOOL bSuccess = FALSE; - if(items != 3) + if (items != 3) croak("usage: Win32::Spawn($cmdName, $args, $PID)"); cmd = SvPV(ST(0),na); @@ -2265,7 +2272,7 @@ XS(w32_Spawn) stStartInfo.dwFlags = STARTF_USESHOWWINDOW; /* Enable wShowWindow control */ stStartInfo.wShowWindow = SW_SHOWMINNOACTIVE; /* Start min (normal) */ - if(CreateProcess( + if (CreateProcess( cmd, /* Image path */ args, /* Arguments for command line */ NULL, /* Default process security */ @@ -2298,7 +2305,7 @@ XS(w32_GetShortPathName) SV *shortpath; DWORD len; - if(items != 1) + if (items != 1) croak("usage: Win32::GetShortPathName($longPathName)"); shortpath = sv_mortalcopy(ST(0)); @@ -2362,7 +2369,7 @@ XS(w32_RegCloseKey) { dXSARGS; - if(items != 1) + if (items != 1) { croak("usage: Win32::RegCloseKey($hkey);\n"); } @@ -2376,12 +2383,12 @@ XS(w32_RegConnectRegistry) dXSARGS; HKEY handle; - if(items != 3) + if (items != 3) { croak("usage: Win32::RegConnectRegistry($machine, $hkey, $handle);\n"); } - if(SUCCESSRETURNED(RegConnectRegistry((char *)SvPV(ST(0), na), SvHKEY(ST(1)), &handle))) + if (SUCCESSRETURNED(RegConnectRegistry((char *)SvPV(ST(0), na), SvHKEY(ST(1)), &handle))) { SETHKEY(2,handle); XSRETURN_YES; @@ -2397,7 +2404,7 @@ XS(w32_RegCreateKey) DWORD disposition; long retval; - if(items != 3) + if (items != 3) { croak("usage: Win32::RegCreateKey($hkey, $subkey, $handle);\n"); } @@ -2405,7 +2412,7 @@ XS(w32_RegCreateKey) retval = RegCreateKeyEx(SvHKEY(ST(0)), (char *)SvPV(ST(1), na), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &handle, &disposition); - if(SUCCESSRETURNED(retval)) + if (SUCCESSRETURNED(retval)) { SETHKEY(2,handle); XSRETURN_YES; @@ -2427,7 +2434,7 @@ XS(w32_RegCreateKeyEx) REGSAM sam; SECURITY_ATTRIBUTES sa, *psa; - if(items != 9) + if (items != 9) { croak("usage: Win32::RegCreateKeyEx($hkey, $subkey, $reserved, $class, $options, $sam, " "$security, $handle, $disposition);\n"); @@ -2439,7 +2446,7 @@ XS(w32_RegCreateKeyEx) options = (DWORD) ((unsigned long)SvIV(ST(4))); sam = (REGSAM) ((unsigned long)SvIV(ST(5))); psa = (SECURITY_ATTRIBUTES*)SvPV(ST(6), length); - if(length != sizeof(SECURITY_ATTRIBUTES)) + if (length != sizeof(SECURITY_ATTRIBUTES)) { psa = &sa; memset(&sa, 0, sizeof(SECURITY_ATTRIBUTES)); @@ -2449,9 +2456,9 @@ XS(w32_RegCreateKeyEx) retval = RegCreateKeyEx(hkey, subkey, 0, keyclass, options, sam, psa, &handle, &disposition); - if(SUCCESSRETURNED(retval)) + if (SUCCESSRETURNED(retval)) { - if(psa == &sa) + if (psa == &sa) SETPVN(6, &sa, sizeof(sa)); SETHKEY(7,handle); @@ -2466,7 +2473,7 @@ XS(w32_RegDeleteKey) { dXSARGS; - if(items != 2) + if (items != 2) { croak("usage: Win32::RegDeleteKey($hkey, $subkey);\n"); } @@ -2479,7 +2486,7 @@ XS(w32_RegDeleteValue) { dXSARGS; - if(items != 2) + if (items != 2) { croak("usage: Win32::RegDeleteValue($hkey, $valname);\n"); } @@ -2494,12 +2501,12 @@ XS(w32_RegEnumKey) char keybuffer[TMPBUFSZ]; - if(items != 3) + if (items != 3) { croak("usage: Win32::RegEnumKey($hkey, $idx, $subkeyname);\n"); } - if(SUCCESSRETURNED(RegEnumKey(SvHKEY(ST(0)), SvIV(ST(1)), keybuffer, sizeof(keybuffer)))) + if (SUCCESSRETURNED(RegEnumKey(SvHKEY(ST(0)), SvIV(ST(1)), keybuffer, sizeof(keybuffer)))) { SETPV(2, keybuffer); XSRETURN_YES; @@ -2519,7 +2526,7 @@ XS(w32_RegEnumKeyEx) long retval; FILETIME filetime; - if(items != 6) + if (items != 6) { croak("usage: Win32::RegEnumKeyEx($hkey, $idx, $subkeyname, $reserved, $class, $time);\n"); } @@ -2528,7 +2535,7 @@ XS(w32_RegEnumKeyEx) classsz = sizeof(classbuffer); retval = RegEnumKeyEx(SvHKEY(ST(0)), SvIV(ST(1)), keybuffer, &keysz, 0, classbuffer, &classsz, &filetime); - if(SUCCESSRETURNED(retval)) + if (SUCCESSRETURNED(retval)) { SETPV(2, keybuffer); SETPV(4, classbuffer); @@ -2549,7 +2556,7 @@ XS(w32_RegEnumValue) char myvalbuf[MAX_LENGTH]; char mynambuf[MAX_LENGTH]; - if(items != 6) + if (items != 6) { croak("usage: Win32::RegEnumValue($hkey, $i, $name, $reserved, $type, $value);\n"); } @@ -2560,7 +2567,7 @@ XS(w32_RegEnumValue) // allocate space for them. Free any old storage and set the old key value to the // current key. - if(hkey != (HKEY)last_hkey) + if (hkey != (HKEY)last_hkey) { char keyclass[TMPBUFSZ]; DWORD classsz, subkeys, maxsubkey, maxclass, values, salen, maxnamesz, maxvalsz; @@ -2569,7 +2576,7 @@ XS(w32_RegEnumValue) retval = RegQueryInfoKey(hkey, keyclass, &classsz, 0, &subkeys, &maxsubkey, &maxclass, &values, &maxnamesz, &maxvalsz, &salen, &ft); - if(!SUCCESSRETURNED(retval)) + if (!SUCCESSRETURNED(retval)) { XSRETURN_NO; } @@ -2581,7 +2588,7 @@ XS(w32_RegEnumValue) namesz = MAX_LENGTH; valsz = MAX_LENGTH; retval = RegEnumValue(hkey, SvIV(ST(1)), mynambuf, &namesz, 0, &type, (LPBYTE) myvalbuf, &valsz); - if(!SUCCESSRETURNED(retval)) + if (!SUCCESSRETURNED(retval)) { XSRETURN_NO; } @@ -2596,7 +2603,7 @@ XS(w32_RegEnumValue) case REG_SZ: case REG_MULTI_SZ: case REG_EXPAND_SZ: - if(valsz) + if (valsz) --valsz; case REG_BINARY: SETPVN(5, myvalbuf, valsz); @@ -2628,7 +2635,7 @@ XS(w32_RegFlushKey) { dXSARGS; - if(items != 1) + if (items != 1) { croak("usage: Win32::RegFlushKey($hkey);\n"); } @@ -2643,12 +2650,12 @@ XS(w32_RegGetKeySecurity) SECURITY_DESCRIPTOR sd; DWORD sdsz; - if(items != 3) + if (items != 3) { croak("usage: Win32::RegGetKeySecurity($hkey, $security_info, $security_descriptor);\n"); } - if(SUCCESSRETURNED(RegGetKeySecurity(SvHKEY(ST(0)), SvIV(ST(1)), &sd, &sdsz))) + if (SUCCESSRETURNED(RegGetKeySecurity(SvHKEY(ST(0)), SvIV(ST(1)), &sd, &sdsz))) { SETPVN(2, &sd, sdsz); XSRETURN_YES; @@ -2661,7 +2668,7 @@ XS(w32_RegLoadKey) { dXSARGS; - if(items != 3) + if (items != 3) { croak("usage: Win32::RegLoadKey($hkey, $subkey, $filename);\n"); } @@ -2681,12 +2688,12 @@ XS(w32_RegOpenKey) dXSARGS; HKEY handle; - if(items != 3) + if (items != 3) { croak("usage: Win32::RegOpenKey($hkey, $subkey, $handle);\n"); } - if(SUCCESSRETURNED(RegOpenKey(SvHKEY(ST(0)), (char *)SvPV(ST(1), na), &handle))) + if (SUCCESSRETURNED(RegOpenKey(SvHKEY(ST(0)), (char *)SvPV(ST(1), na), &handle))) { SETHKEY(2,handle); XSRETURN_YES; @@ -2700,12 +2707,12 @@ XS(w32_RegOpenKeyEx) dXSARGS; HKEY handle; - if(items != 5) + if (items != 5) { croak("usage: Win32::RegOpenKeyEx($hkey, $subkey, $reserved, $sam, $handle);\n"); } - if(SUCCESSRETURNED(RegOpenKeyEx(SvHKEY(ST(0)), (char *)SvPV(ST(1), na), + if (SUCCESSRETURNED(RegOpenKeyEx(SvHKEY(ST(0)), (char *)SvPV(ST(1), na), 0, (REGSAM) ((unsigned long)SvIV(ST(3))), &handle))) { SETHKEY(4,handle); @@ -2727,7 +2734,7 @@ XS(w32_RegQueryInfoKey) FILETIME ft; long retval; - if(items != 10) + if (items != 10) { croak("usage: Win32::RegQueryInfoKey($hkey, $class, $numsubkeys, $maxsubkey," "$maxclass, $values, $maxvalname, $maxvaldata, $secdesclen," @@ -2738,7 +2745,7 @@ XS(w32_RegQueryInfoKey) retval = RegQueryInfoKey(SvHKEY(ST(0)), keyclass, &classsz, 0, &subkeys, &maxsubkey, &maxclass, &values, &maxvalname, &maxvaldata, &seclen, &ft); - if(SUCCESSRETURNED(retval)) + if (SUCCESSRETURNED(retval)) { SETPV(1, keyclass); SETIV(2, subkeys); @@ -2763,12 +2770,12 @@ XS(w32_RegQueryValue) unsigned char databuffer[TMPBUFSZ*2]; long datasz = sizeof(databuffer); - if(items != 3) + if (items != 3) { croak("usage: Win32::RegQueryValue($hkey, $valuename, $data);\n"); } - if(SUCCESSRETURNED(RegQueryValue(SvHKEY(ST(0)), SvPV(ST(1), na), (char*)databuffer, &datasz))) + if (SUCCESSRETURNED(RegQueryValue(SvHKEY(ST(0)), SvPV(ST(1), na), (char*)databuffer, &datasz))) { // return includes the null terminator so delete it SETPVN(2, databuffer, --datasz); @@ -2788,18 +2795,18 @@ XS(w32_RegQueryValueEx) LONG result; LPBYTE ptr = databuffer; - if(items != 5) + if (items != 5) { croak("usage: Win32::RegQueryValueEx($hkey, $valuename, $reserved, $type, $data);\n"); } result = RegQueryValueEx(SvHKEY(ST(0)), SvPV(ST(1), na), 0, &type, ptr, &datasz); - if(result == ERROR_MORE_DATA) + if (result == ERROR_MORE_DATA) { New(0, ptr, datasz+1, BYTE); result = RegQueryValueEx(SvHKEY(ST(0)), SvPV(ST(1), na), 0, &type, ptr, &datasz); } - if(SUCCESSRETURNED(result)) + if (SUCCESSRETURNED(result)) { SETIV(3, type); @@ -2831,12 +2838,12 @@ XS(w32_RegQueryValueEx) break; } - if(ptr != databuffer) + if (ptr != databuffer) safefree(ptr); XSRETURN_YES; } - if(ptr != databuffer) + if (ptr != databuffer) safefree(ptr); XSRETURN_NO; @@ -2847,7 +2854,7 @@ XS(w32_RegReplaceKey) { dXSARGS; - if(items != 4) + if (items != 4) { croak("usage: Win32::RegReplaceKey($hkey, $subkey, $newfile, $oldfile);\n"); } @@ -2860,7 +2867,7 @@ XS(w32_RegRestoreKey) { dXSARGS; - if(items < 2 || items > 3) + if (items < 2 || items > 3) { croak("usage: Win32::RegRestoreKey($hkey, $filename [, $flags]);\n"); } @@ -2873,7 +2880,7 @@ XS(w32_RegSaveKey) { dXSARGS; - if(items != 2) + if (items != 2) { croak("usage: Win32::RegSaveKey($hkey, $filename);\n"); } @@ -2886,7 +2893,7 @@ XS(w32_RegSetKeySecurity) { dXSARGS; - if(items != 3) + if (items != 3) { croak("usage: Win32::RegSetKeySecurity($hkey, $security_info, $security_descriptor);\n"); } @@ -2902,13 +2909,13 @@ XS(w32_RegSetValue) unsigned int size; char *buffer; - if(items != 4) + if (items != 4) { croak("usage: Win32::RegSetValue($hkey, $subKey, $type, $data);\n"); } DWORD type = SvIV(ST(2)); - if(type != REG_SZ && type != REG_EXPAND_SZ) + if (type != REG_SZ && type != REG_EXPAND_SZ) { croak("Win32::RegSetValue: Type was not REG_SZ or REG_EXPAND_SZ, cannot set %s\n", (char *)SvPV(ST(1), na)); } @@ -2927,7 +2934,7 @@ XS(w32_RegSetValueEx) unsigned int size; char *buffer; - if(items != 5) + if (items != 5) { croak("usage: Win32::RegSetValueEx($hkey, $valname, $reserved, $type, $data);\n"); } @@ -2940,7 +2947,7 @@ XS(w32_RegSetValueEx) case REG_MULTI_SZ: case REG_EXPAND_SZ: buffer = (char *)SvPV(ST(4), size); - if(type != REG_BINARY) + if (type != REG_BINARY) size++; // include null terminator in size REGRETURN(RegSetValueEx(SvHKEY(ST(0)), (char *)SvPV(ST(1), na), 0, type, (PBYTE) buffer, size)); @@ -2962,7 +2969,7 @@ XS(w32_RegUnloadKey) { dXSARGS; - if(items != 2) + if (items != 2) { croak("usage: Win32::RegUnLoadKey($hkey, $subkey);\n"); } @@ -2979,23 +2986,23 @@ XS(w32_RegisterServer) unsigned int length; FARPROC sFunc; - if(items != 1) + if (items != 1) { croak("usage: Win32::RegisterServer($LibraryName)\n"); } hInstance = LoadLibrary((char *)SvPV(ST(0), length)); - if(hInstance != NULL) + if (hInstance != NULL) { sFunc = GetProcAddress(hInstance, "DllRegisterServer"); - if(sFunc != NULL) + if (sFunc != NULL) { bSuccess = (sFunc() == 0); } FreeLibrary(hInstance); } - if(bSuccess) + if (bSuccess) { XSRETURN_YES; } @@ -3011,23 +3018,23 @@ XS(w32_UnregisterServer) unsigned int length; FARPROC sFunc; - if(items != 1) + if (items != 1) { croak("usage: Win32::UnregisterServer($LibraryName)\n"); } hInstance = LoadLibrary((char *)SvPV(ST(0), length)); - if(hInstance != NULL) + if (hInstance != NULL) { sFunc = GetProcAddress(hInstance, "DllUnregisterServer"); - if(sFunc != NULL) + if (sFunc != NULL) { bSuccess = (sFunc() == 0); } FreeLibrary(hInstance); } - if(bSuccess) + if (bSuccess) { XSRETURN_YES; } diff --git a/win32/win32.h b/win32/win32.h index 841dbc5d3b..1930e391da 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -168,6 +168,13 @@ typedef long gid_t; # endif #endif +#ifndef _O_NOINHERIT +# define _O_NOINHERIT 0x0080 +# ifndef _NO_OLDNAMES +# define O_NOINHERIT _O_NOINHERIT +# endif +#endif + #endif /* __MINGW32__ */ /* compatibility stuff for other compilers goes here */ @@ -254,6 +261,9 @@ struct thread_intern { char Wstrerror_buffer[512]; struct servent Wservent; char Wgetlogin_buffer[128]; +# ifdef USE_SOCKETS_AS_HANDLES + int Winit_socktype; +# endif # ifdef HAVE_DES_FCRYPT char Wcrypt_buffer[30]; # endif diff --git a/win32/win32sck.c b/win32/win32sck.c index 6d67533e36..bcf180ad62 100644 --- a/win32/win32sck.c +++ b/win32/win32sck.c @@ -43,11 +43,22 @@ extern CPerlObj* pPerl; # define TO_SOCKET(x) (x) #endif /* USE_SOCKETS_AS_HANDLES */ +#ifdef USE_THREADS #define StartSockets() \ STMT_START { \ if (!wsock_started) \ start_sockets(); \ + set_socktype(); \ + } STMT_END +#else +#define StartSockets() \ + STMT_START { \ + if (!wsock_started) { \ + start_sockets(); \ + set_socktype(); \ + } \ } STMT_END +#endif #define EndSockets() \ STMT_START { \ @@ -71,8 +82,10 @@ static struct servent* win32_savecopyservent(struct servent*d, #ifdef USE_THREADS #ifdef USE_DECLSPEC_THREAD __declspec(thread) struct servent myservent; +__declspec(thread) int init_socktype; #else #define myservent (thr->i.Wservent) +#define init_socktype (thr->i.Winit_socktype) #endif #else static struct servent myservent; @@ -86,7 +99,6 @@ start_sockets(void) unsigned short version; WSADATA retdata; int ret; - int iSockOpt = SO_SYNCHRONOUS_NONALERT; /* * initalize the winsock interface and insure that it is @@ -99,15 +111,28 @@ start_sockets(void) croak("Could not find version 1.1 of winsock dll\n"); /* atexit((void (*)(void)) EndSockets); */ + wsock_started = 1; +} +void +set_socktype(void) +{ #ifdef USE_SOCKETS_AS_HANDLES +#ifdef USE_THREADS + dTHR; + if(!init_socktype) { +#endif + int iSockOpt = SO_SYNCHRONOUS_NONALERT; /* * Enable the use of sockets as filehandles */ setsockopt(INVALID_SOCKET, SOL_SOCKET, SO_OPENTYPE, (char *)&iSockOpt, sizeof(iSockOpt)); +#ifdef USE_THREADS + init_socktype = 1; + } +#endif #endif /* USE_SOCKETS_AS_HANDLES */ - wsock_started = 1; } diff --git a/x2p/util.c b/x2p/util.c index e2b8bba862..0c6f99f795 100644 --- a/x2p/util.c +++ b/x2p/util.c @@ -24,7 +24,7 @@ static char nomem[] = "Out of memory!\n"; Malloc_t -safemalloc(size_t size) +safemalloc(MEM_SIZE size) { Malloc_t ptr; @@ -48,7 +48,7 @@ safemalloc(size_t size) /* paranoid version of realloc */ Malloc_t -saferealloc(void *where, size_t size) +saferealloc(Malloc_t where, MEM_SIZE size) { Malloc_t ptr; @@ -73,7 +73,7 @@ saferealloc(void *where, size_t size) /* safe version of free */ Free_t -safefree(void *where) +safefree(Malloc_t where) { #ifdef DEBUGGING if (debug & 128) |