mbligh Martin J. Bligh mbligh@sequent.com
mike Mike Stok mike@stok.co.uk
millert Todd Miller millert@openbsd.org
-molnarl Laszlo Molnar molnarl@cdata.tvnet.hu
+laszlo.molnar Laszlo Molnar Laszlo.Molnar@eth.ericsson.se
mpeix Mark Bixby markb@cccd.edu
muir David Muir Sharnoff muir@idiom.com
neale Neale Ferguson neale@VMA.TABNSW.COM.AU
dec_osf jhi,spider
dgux roderick
doc tchrist
-dos lmolnarl
+dos laszlo.molnar
dynix/ptx mbligh
ebcdic vms,vmesa,posixbc
filespec kjahds
lynxos lynxos
machten domo
mm makemaker
-msdos molnarl
mvs pvhp
netbsd jhi
openbsd millert
Doug MacEachern <dougm@opengroup.org>
Paul Marquess <pmarquess@bfsec.bt.co.uk>
Stephen McCamant <alias@mcs.com>
- Laszlo Molnar <molnarl@cdata.tvnet.hu>
+ Laszlo Molnar <laszlo.molnar@eth.ericsson.se>
Hans Mulder <hansmu@xs4all.nl>
Matthias Neeracher <neeri@iis.ee.ethz.ch>
Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
----------------
-Version 5.005_61 Development release working toward 5.006
+Version 5.005_62 Development release working toward 5.006
+----------------
+
+____________________________________________________________________________
+[ 4208] By: gsar on 1999/09/20 18:28:44
+ Log: add README.Y2K (from Dominic Dunlop <domo@vo.lu>)
+ Branch: perl
+ + README.Y2K
+ ! MANIFEST
+____________________________________________________________________________
+[ 4207] By: jhi on 1999/09/20 11:06:13
+ Log: Document -Duselfs, -Duselongdouble, and -Dusemorebits.
+ Branch: cfgperl
+ ! pod/perldelta.pod
+____________________________________________________________________________
+[ 4206] By: jhi on 1999/09/20 09:53:15
+ Log: Do not test for gccish things in non-gccish platforms.
+ Branch: cfgperl
+ ! Configure config_h.SH
+ Branch: metaconfig
+ ! U/compline/ccflags.U
+____________________________________________________________________________
+[ 4205] By: jhi on 1999/09/20 09:41:22
+ Log: Prompt for uselfs.
+ Branch: cfgperl
+ ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+ ! config_h.SH
+ Branch: metaconfig
+ ! U/mksample
+ Branch: metaconfig/U/perl
+ ! use64bits.U uselfs.U
+____________________________________________________________________________
+[ 4204] By: jhi on 1999/09/20 09:09:29
+ Log: Add usemorebits and uselfs.
+ Branch: cfgperl
+ ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+ ! config_h.SH doio.c perl.h
+ Branch: metaconfig/U/perl
+ + uselfs.U usemorebits.U
+ ! use64bits.U uselongdbl.U
+____________________________________________________________________________
+[ 4203] By: jhi on 1999/09/20 07:48:48
+ Log: Dethinko.
+ Branch: cfgperl
+ ! pod/perlfunc.pod
+____________________________________________________________________________
+[ 4202] By: jhi on 1999/09/20 07:33:32
+ Log: Fix a bug in the description of endianness. Reported in
+ From: "Konovalov, Vadim" <vkonovalov@lucent.com>
+ To: perl5-porters@perl.org
+ Subject: BUG: perldoc -f pack
+ Date: Mon, 20 Sep 1999 09:43:49 +0400
+ Message-ID: <402099F49BEED211999700805FC7359F20D3F5@ru0028exch01.spb.lucent.com>
+ Branch: cfgperl
+ ! pod/perlfunc.pod
+____________________________________________________________________________
+[ 4201] By: jhi on 1999/09/20 07:01:26
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ +> t/op/args.t
+ !> (integrate 31 files)
+____________________________________________________________________________
+[ 4200] By: gsar on 1999/09/20 03:45:06
+ Log: From: Russ Allbery <rra@stanford.edu>
+ Date: 19 Aug 1999 04:35:44 -0700
+ Message-Id: <yl7lms9f5b.fsf@windlord.stanford.edu>
+ Subject: [ID 19990819.002] File::Find error when pruning top-level directories
+ Branch: perl
+ ! lib/File/Find.pm
+____________________________________________________________________________
+[ 4199] By: gsar on 1999/09/20 03:27:49
+ Log: suppress warning (from John Tobey <jtobey@epsilondev.com>)
+ Branch: perl
+ ! ext/B/B/Terse.pm
+____________________________________________________________________________
+[ 4198] By: gsar on 1999/09/20 03:25:25
+ Log: add arenas for managing allocations of remaining xpv*v structures
+ From: Vishal Bhatia <vishal@gol.com>
+ Date: Wed, 25 Aug 1999 00:31:33 +0900 (JST)
+ Message-ID: <Pine.LNX.4.10.9908250031000.11727-100000@localhost.localdomain>
+ Subject: [PATCH 5.005_60] removing extra ref count (compiler)
+ Branch: perl
+ ! embed.h embed.pl embedvar.h ext/B/B/C.pm intrpvar.h objXSUB.h
+ ! proto.h sv.c
+____________________________________________________________________________
+[ 4197] By: gsar on 1999/09/20 03:06:10
+ Log: queue errors due to strictures rather than printing them as
+ warnings; symbols that violate strictures do *not* end up in
+ the symbol table anyway, making multiple evals of the same piece
+ of code produce the same errors; errors indicate all locations
+ of a global symbol rather than just the first one; these
+ changes make compile-time failures within evals reliably
+ visible via the return value or contents of $@, and trappable
+ using __DIE__ hooks
+ Branch: perl
+ ! embed.h embed.pl embedvar.h ext/DynaLoader/dlutils.c
+ ! ext/Thread/Thread.xs global.sym gv.c objXSUB.h op.c perl.c
+ ! perlapi.c pp_ctl.c proto.h regcomp.c t/pragma/strict-refs
+ ! t/pragma/strict-vars thrdvar.h toke.c util.c
+____________________________________________________________________________
+[ 4196] By: gsar on 1999/09/19 22:14:29
+ Log: control change#1914 via hints (causes problems on some platforms)
+ Branch: perl
+ ! ext/POSIX/POSIX.pod ext/POSIX/POSIX.xs
+ ! ext/POSIX/hints/linux.pl
+____________________________________________________________________________
+[ 4195] By: gsar on 1999/09/19 21:30:18
+ Log: avoid clearing @_ at all for faster subroutine calls; fix bugs
+ in passing around references to @_, eg C<sub foo { \@_ }>; add
+ tests for the same
+ Branch: perl
+ + t/op/args.t
+ ! MANIFEST cop.h pp.c pp_ctl.c pp_hot.c
+____________________________________________________________________________
+[ 4194] By: jhi on 1999/09/18 18:57:45
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> opcode.h opcode.pl
+____________________________________________________________________________
+[ 4193] By: nick on 1999/09/18 15:24:56
+ Log: Re-integrate mainline
+ Basic SvUTF8 stuff in headers, no functional changes yet.
+ Branch: utfperl
+ + lib/byte.pm lib/byte_heavy.pl
+ +> ext/B/defsubs_h.PL ext/DB_File/version.c jpl/JNI/Closer.java
+ +> jpl/JNI/JNIConfig jpl/JNI/JNIConfig.Win32
+ +> jpl/JNI/JNIConfig.kaffe jpl/JNI/JNIConfig.noembed
+ +> jpl/JNI/JNIConfig.standard jpl/JNI/typemap.gcc
+ +> jpl/JNI/typemap.win32 jpl/SETVARS.PL lib/unicode/ArabShap.txt
+ +> lib/unicode/Blocks.txt lib/unicode/CompExcl.txt
+ +> lib/unicode/EAWidth.txt lib/unicode/Index.txt
+ +> lib/unicode/Jamo-2.txt lib/unicode/LineBrk.txt
+ +> lib/unicode/Names.txt lib/unicode/Props.txt
+ +> lib/unicode/ReadMe.txt lib/unicode/SpecCase.txt
+ +> t/lib/bigfltpm.t
+ - ext/B/defsubs.h.PL lib/unicode/arabshp.txt
+ - lib/unicode/blocks.txt lib/unicode/index2.txt
+ - lib/unicode/jamo2.txt lib/unicode/names2.txt
+ - lib/unicode/props2.txt lib/unicode/readme.txt
+ - t/lib/bigfloatpm.t
+ ! doop.c embed.h embed.pl gv.c mg.c objXSUB.h op.c op.h perl.h
+ ! perlapi.c pp.c pp_ctl.c pp_hot.c proto.h regcomp.c regcomp.h
+ ! regexec.c regexp.h regnodes.h sv.c sv.h toke.c utf8.c utf8.h
+ ! warnings.h
+ !> (integrate 142 files)
+____________________________________________________________________________
+[ 4192] By: gsar on 1999/09/18 15:11:47
+ Log: more op description tweaks
+ Branch: perl
+ ! opcode.h opcode.pl
+____________________________________________________________________________
+[ 4191] By: jhi on 1999/09/18 07:47:16
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> Changes opcode.h opcode.pl t/io/open.t t/op/misc.t
+ !> t/pragma/warn/op
+____________________________________________________________________________
+[ 4190] By: jhi on 1999/09/18 07:35:45
+ Log: Add description of the Unicode database files.
+ Branch: cfgperl
+ + lib/unicode/Unicode.html
+____________________________________________________________________________
+[ 4189] By: gsar on 1999/09/18 03:14:58
+ Log: tweak some op names in change#4177 (will any of this break code that
+ gropes $@ ?)
+ Branch: perl
+ ! Changes opcode.h opcode.pl t/io/open.t t/op/misc.t
+ ! t/pragma/warn/op
+____________________________________________________________________________
+[ 4188] By: jhi on 1999/09/17 21:30:08
+ Log: Pick up the typo fix.
+ Branch: cfgperl
+ !> t/io/open.t
+____________________________________________________________________________
+[ 4187] By: gsar on 1999/09/17 21:13:55
+ Log: fix typo
+ Branch: perl
+ ! t/io/open.t
+____________________________________________________________________________
+[ 4186] By: gsar on 1999/09/17 20:57:29
+ Log: integrate cfgperl change
+ Branch: perl
+ !> vms/subconfigure.com
+____________________________________________________________________________
+[ 4185] By: jhi on 1999/09/17 20:46:41
+ Log: Re-apply applicable parts of #3993, #3994, and #3995.
+ Branch: cfgperl
+ ! vms/subconfigure.com
+____________________________________________________________________________
+[ 4184] By: gsar on 1999/09/17 20:26:02
+ Log: integrate cfgperl contents into mainline
+ Branch: perl
+ +> lib/unicode/ArabShap.txt lib/unicode/Blocks.txt
+ +> lib/unicode/CompExcl.txt lib/unicode/EAWidth.txt
+ +> lib/unicode/Index.txt lib/unicode/Jamo-2.txt
+ +> lib/unicode/LineBrk.txt lib/unicode/Names.txt
+ +> lib/unicode/Props.txt lib/unicode/ReadMe.txt
+ +> lib/unicode/SpecCase.txt
+ - lib/unicode/arabshp.txt lib/unicode/blocks.txt
+ - lib/unicode/index2.txt lib/unicode/jamo2.txt
+ - lib/unicode/names2.txt lib/unicode/props2.txt
+ - lib/unicode/readme.txt
+ !> (integrate 73 files)
+____________________________________________________________________________
+[ 4183] By: jhi on 1999/09/17 20:25:51
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> configure.com ext/ByteLoader/byterun.h
+ !> ext/DynaLoader/DynaLoader_pm.PL lib/ExtUtils/MM_VMS.pm
+ !> lib/File/Spec/VMS.pm pod/perlhist.pod t/io/open.t
+ !> vms/descrip_mms.template vms/gen_shrfls.pl vms/perly_c.vms
+ !> vms/perly_h.vms vms/subconfigure.com vms/vms.c vms/vmsish.h
+____________________________________________________________________________
+[ 4182] By: gsar on 1999/09/17 20:16:28
+ Log: integrate vmsperl contents into mainline (where VMS files conflicted,
+ vmsperl contents have prevailed)
+ Branch: perl
+ !> configure.com ext/ByteLoader/byterun.h
+ !> ext/DynaLoader/DynaLoader_pm.PL lib/ExtUtils/MM_VMS.pm
+ !> lib/File/Spec/VMS.pm t/io/open.t vms/descrip_mms.template
+ !> vms/gen_shrfls.pl vms/perly_c.vms vms/perly_h.vms
+ !> vms/subconfigure.com vms/vms.c vms/vmsish.h
+____________________________________________________________________________
+[ 4181] By: jhi on 1999/09/17 20:12:37
+ Log: From: Michael G Schwern <schwern@pobox.com>
+ To: perl5-porters@perl.org
+ Subject: [PATCH 5.005_60 lib/Exporter/Heavy.pm] export_to_level()
+ Date: Thu, 19 Aug 1999 21:30:01 -0400
+ Message-ID: <19990819213001.A22512@athens.aocn.com>
+ Branch: cfgperl
+ ! lib/Exporter/Heavy.pm
+____________________________________________________________________________
+[ 4180] By: gsar on 1999/09/17 20:11:00
+ Log: perlhist additions
+ Branch: perl
+ ! pod/perlhist.pod
+____________________________________________________________________________
+[ 4179] By: jhi on 1999/09/17 20:08:00
+ Log: The change #4176 should've undone only the test, not the code patch.
+ Branch: cfgperl
+ ! doio.c
+____________________________________________________________________________
+[ 4178] By: jhi on 1999/09/17 20:06:08
+ Log: From: Ian Phillipps <ian@dial.pipex.com>
+ To: Hans GINZEL <hgin2088@mail.kolej.mff.cuni.cz>, perl5-porters@perl.org
+ Subject: [PATCH 5.005_59] Re: [ID 19990820.007] Small typo in perlsyn.pod
+ Date: Sat, 21 Aug 1999 12:36:12 +0100
+ Message-ID: <19990821123612.A9955@homer.diplex.co.uk>
+ Branch: cfgperl
+ ! pod/perlsyn.pod
+____________________________________________________________________________
+[ 4177] By: jhi on 1999/09/17 20:00:19
+ Log: More descriptive names for operators.
+
+ From: Michael G Schwern <schwern@pobox.com>
+ To: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ Cc: perl5-porters@perl.org
+ Subject: Re: [ID 19990817.009] [BUG 5.005_60 & 5.005_03] == reported as eq in
+ Date: Tue, 17 Aug 1999 18:35:45 -0400
+ Message-ID: <19990817183545.A23073@toldyouso.com>
+
+ From: Michael G Schwern <schwern@pobox.com>
+ To: perl5-porters@perl.org
+ Subject: [PATCH 5.005_60 opcode.pl and friends] Improved opcode descriptions
+ Date: Wed, 18 Aug 1999 03:53:38 -0400
+ Message-ID: <19990818035337.A31505@athens.aocn.com>
+ Branch: cfgperl
+ ! opcode.h opcode.pl pp.sym pp_proto.h sv.c t/op/misc.t
+ ! t/pragma/warn/op t/pragma/warn/sv
+____________________________________________________________________________
+[ 4176] By: jhi on 1999/09/17 18:19:18
+ Log: Take away the infamous io/dup.t #7.
+ It seems there simply is no way to portably
+ "flush" an input file handle.
+ Branch: cfgperl
+ ! doio.c t/io/dup.t
+____________________________________________________________________________
+[ 4175] By: jhi on 1999/09/17 14:45:08
+ Log: From: Barrie Slaymaker <barries@slaysys.com>
+ To: perl5-porters@perl.org
+ Subject: [PATCH 5.005_61] Benchmark: screwed patch format, try this instead
+ Date: Fri, 17 Sep 1999 11:16:48 -0400
+ Message-Id: <199909171516.LAA30887@jester.slaysys.com>
+ Branch: cfgperl
+ ! lib/Benchmark.pm
+____________________________________________________________________________
+[ 4174] By: jhi on 1999/09/17 14:07:16
+ Log: UNICOS does support large files but doesn't support sparse files
+ so we cannot easily test for large file support.
+ Branch: cfgperl
+ ! t/lib/syslfs.t t/op/lfs.t
+____________________________________________________________________________
+[ 4173] By: jhi on 1999/09/17 14:03:44
+ Log: UNICOS has sloppy division/modulo for floating point numbers.
+ Branch: cfgperl
+ ! t/op/arith.t
+____________________________________________________________________________
+[ 4172] By: jhi on 1999/09/17 13:47:49
+ Log: Portable blocksize (replaces #4171).
+ Branch: cfgperl
+ ! t/lib/syslfs.t t/op/lfs.t
+____________________________________________________________________________
+[ 4171] By: jhi on 1999/09/17 13:08:54
+ Log: (replaced by #4172)
+ Branch: cfgperl
+ ! t/lib/syslfs.t t/op/lfs.t
+____________________________________________________________________________
+[ 4170] By: jhi on 1999/09/17 12:59:11
+ Log: Detypo #4169.
+ Branch: cfgperl
+ ! t/lib/syslfs.t t/op/lfs.t
+____________________________________________________________________________
+[ 4169] By: jhi on 1999/09/17 12:16:34
+ Log: Diagnose possible quota limits.
+ Branch: cfgperl
+ ! t/lib/syslfs.t t/op/lfs.t
+____________________________________________________________________________
+[ 4168] By: jhi on 1999/09/17 12:10:43
+ Log: UNICOS doesn't have getpgid(). Or, at least 9.0.1ai
+ doesn't have one that wouldn't cause SIGSYS. UNICOS
+ does have getpgrp(void) so Perl getpgrp() is happy.
+ Branch: cfgperl
+ ! hints/unicos.sh
+____________________________________________________________________________
+[ 4167] By: jhi on 1999/09/17 11:49:30
+ Log: Filesystem quotas may stop you from using large files.
+ Branch: cfgperl
+ ! pod/perldelta.pod t/lib/syslfs.t t/op/lfs.t
+____________________________________________________________________________
+[ 4166] By: jhi on 1999/09/17 11:36:01
+ Log: Too strict pattern for parsing group lists.
+ Branch: cfgperl
+ ! t/op/groups.t
+____________________________________________________________________________
+[ 4165] By: jhi on 1999/09/17 09:06:18
+ Log: Configure maintenance. It's sigaction.sa_flags
+ and the Glossary regen'ed.
+ Branch: cfgperl
+ ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+ ! config_h.SH
+ Branch: metaconfig
+ ! U/compline/d_sigaction.U
+____________________________________________________________________________
+[ 4164] By: jhi on 1999/09/15 06:57:51
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ +> jpl/JNI/Closer.java jpl/JNI/JNIConfig jpl/JNI/JNIConfig.Win32
+ +> jpl/JNI/JNIConfig.kaffe jpl/JNI/JNIConfig.noembed
+ +> jpl/JNI/JNIConfig.standard jpl/JNI/typemap.gcc
+ +> jpl/JNI/typemap.win32 jpl/SETVARS.PL
+ !> Changes MANIFEST embed.h embed.pl jpl/JNI/JNI.pm
+ !> jpl/JNI/JNI.xs jpl/JNI/Makefile.PL jpl/JNI/test.pl
+ !> jpl/JNI/typemap jpl/JPL/Makefile.PL
+ !> jpl/PerlInterpreter/Makefile.PL
+ !> jpl/PerlInterpreter/PerlInterpreter.c
+ !> jpl/PerlInterpreter/PerlInterpreter.h jpl/README
+ !> jpl/Sample/Makefile.PL jpl/install-jpl
+ !> lib/File/Spec/Functions.pm pod/perlhist.pod regexec.c
+ !> t/op/pat.t
+____________________________________________________________________________
+[ 4163] By: gsar on 1999/09/15 05:17:27
+ Log: add :ALL export tag (from Chris Nandor <pudge@pobox.com>)
+ Branch: perl
+ ! lib/File/Spec/Functions.pm
+____________________________________________________________________________
+[ 4162] By: gsar on 1999/09/15 05:09:14
+ Log: addendum to change#4136 (from Robin Barker <rmb1@cise.npl.co.uk>)
+ Branch: perl
+ ! Changes embed.h embed.pl
+____________________________________________________________________________
+[ 4161] By: gsar on 1999/09/15 04:08:25
+ Log: missing perlhist dates from Jeff Okamoto
+ Branch: perl
+ ! pod/perlhist.pod
+____________________________________________________________________________
+[ 4160] By: gsar on 1999/09/15 03:13:08
+ Log: jpl tweak
+ Branch: perl
+ ! MANIFEST jpl/JNI/Makefile.PL
+____________________________________________________________________________
+[ 4159] By: gsar on 1999/09/15 02:57:08
+ Log: update to JPL snapshot v09141999, with minor tweaks (from Brian
+ Jepson <bjepson@home.com>)
+ Branch: perl
+ + jpl/JNI/Closer.java jpl/JNI/JNIConfig jpl/JNI/JNIConfig.Win32
+ + jpl/JNI/JNIConfig.kaffe jpl/JNI/JNIConfig.noembed
+ + jpl/JNI/JNIConfig.standard jpl/JNI/typemap.gcc
+ + jpl/JNI/typemap.win32 jpl/SETVARS.PL
+ ! jpl/JNI/JNI.pm jpl/JNI/JNI.xs jpl/JNI/Makefile.PL
+ ! jpl/JNI/test.pl jpl/JNI/typemap jpl/JPL/Makefile.PL
+ ! jpl/PerlInterpreter/Makefile.PL
+ ! jpl/PerlInterpreter/PerlInterpreter.c
+ ! jpl/PerlInterpreter/PerlInterpreter.h jpl/README
+ ! jpl/Sample/Makefile.PL jpl/install-jpl
+____________________________________________________________________________
+[ 4158] By: gsar on 1999/09/15 01:27:14
+ Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ Date: Tue, 14 Sep 1999 21:26:15 EDT
+ Message-Id: <199909150126.VAA24720@monk.mps.ohio-state.edu>
+ Subject: [PATCH 5.005_58+] Re: [ID 19990914.001] Perl_re_intuit_start() hangs in a loop
+ Branch: perl
+ ! regexec.c t/op/pat.t
+____________________________________________________________________________
+[ 4157] By: jhi on 1999/09/14 21:18:09
+ Log: config.h will define USE_64_BITS if need be.
+ Branch: cfgperl
+ ! hints/irix_6.sh
+____________________________________________________________________________
+[ 4156] By: jhi on 1999/09/14 20:30:00
+ Log: Change #4149 necessitates also a small code change.
+ Branch: cfgperl
+ ! ext/B/defsubs_h.PL
+____________________________________________________________________________
+[ 4155] By: jhi on 1999/09/14 20:15:53
+ Log: Update EPOC libdir names.
+ Branch: cfgperl
+ ! epoc/config.h
+____________________________________________________________________________
+[ 4154] By: jhi on 1999/09/14 20:13:41
+ Log: Obsolete epoc/config.h caused #4153 to re-introduce already
+ deceased HAS.*DBM.*64 mumblings.
+ Branch: cfgperl
+ ! Configure config_h.SH epoc/config.h
+____________________________________________________________________________
+[ 4153] By: jhi on 1999/09/14 20:04:53
+ Log: Configure nits.
+ Branch: cfgperl
+ ! Configure config_h.SH
+ Branch: metaconfig
+ ! U/compline/d_sigaction.U U/threads/i_pthread.U
+____________________________________________________________________________
+[ 4152] By: jhi on 1999/09/14 19:30:22
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ +> ext/B/defsubs_h.PL t/lib/bigfltpm.t
+ - ext/B/defsubs.h.PL t/lib/bigfloatpm.t
+ !> INSTALL MANIFEST ext/B/Makefile.PL pod/perldiag.pod
+ !> win32/config_sh.PL
+____________________________________________________________________________
+[ 4151] By: jhi on 1999/09/14 10:25:01
+ Log: Update Unicode database and recompute the tables.
+ Rename the .txt files to be more Unicode 3.0-like.
+ Unihan-3.0.txt not included because it is 16 MB.
+ syllables.txt is manually maintained.
+ See ReadMe.txt for description of the .txt files.
+ (not all of them are used yet)
+ Branch: cfgperl
+ + lib/unicode/ArabShap.txt lib/unicode/Blocks.txt
+ + lib/unicode/CompExcl.txt lib/unicode/EAWidth.txt
+ + lib/unicode/Index.txt lib/unicode/Jamo-2.txt
+ + lib/unicode/LineBrk.txt lib/unicode/Names.txt
+ + lib/unicode/Props.txt lib/unicode/ReadMe.txt
+ + lib/unicode/SpecCase.txt
+ - lib/unicode/arabshp.txt lib/unicode/blocks.txt
+ - lib/unicode/index2.txt lib/unicode/jamo2.txt
+ - lib/unicode/names2.txt lib/unicode/props2.txt
+ - lib/unicode/readme.txt
+ ! MANIFEST lib/unicode/ArabLink.pl lib/unicode/ArabLnkGrp.pl
+ ! lib/unicode/Bidirectional.pl lib/unicode/Block.pl
+ ! lib/unicode/Category.pl lib/unicode/CombiningClass.pl
+ ! lib/unicode/Decomposition.pl
+ ! lib/unicode/In/ArabicPresentationForms-B.pl
+ ! lib/unicode/In/Specials.pl lib/unicode/In/Tibetan.pl
+ ! lib/unicode/Is/Alnum.pl lib/unicode/Is/Alpha.pl
+ ! lib/unicode/Is/BidiCS.pl lib/unicode/Is/BidiL.pl
+ ! lib/unicode/Is/BidiON.pl lib/unicode/Is/BidiWS.pl
+ ! lib/unicode/Is/DCcompat.pl lib/unicode/Is/DecoCanon.pl
+ ! lib/unicode/Is/DecoCompat.pl lib/unicode/Is/L.pl
+ ! lib/unicode/Is/Ll.pl lib/unicode/Is/Lo.pl
+ ! lib/unicode/Is/Lower.pl lib/unicode/Is/Lu.pl
+ ! lib/unicode/Is/Pd.pl lib/unicode/Is/Po.pl lib/unicode/Is/S.pl
+ ! lib/unicode/Is/Sm.pl lib/unicode/Is/So.pl
+ ! lib/unicode/Is/Upper.pl lib/unicode/Is/Word.pl
+ ! lib/unicode/JamoShort.pl lib/unicode/UnicodeData-Latest.txt
+ ! lib/unicode/mktables.PL
+____________________________________________________________________________
+[ 4150] By: gsar on 1999/09/14 09:31:57
+ Log: INSTALL tweak
+ Branch: perl
+ ! INSTALL
+____________________________________________________________________________
+[ 4149] By: gsar on 1999/09/14 09:00:45
+ Log: change some filenames to be 8.3-friendly
+ Branch: perl
+ +> ext/B/defsubs_h.PL t/lib/bigfltpm.t
+ - ext/B/defsubs.h.PL t/lib/bigfloatpm.t
+ ! MANIFEST ext/B/Makefile.PL pod/perldiag.pod
+____________________________________________________________________________
+[ 4148] By: gsar on 1999/09/14 08:35:00
+ Log: win32 config tweak (suggested by Greg Chapman <glc@well.com>)
+ Branch: perl
+ ! win32/config_sh.PL
+____________________________________________________________________________
+[ 4147] By: jhi on 1999/09/14 08:07:49
+ Log: Not that UVSIZE normally differs that much from IVSIZE...
+ Branch: cfgperl
+ ! perl.h
+____________________________________________________________________________
+[ 4146] By: jhi on 1999/09/14 08:04:40
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> Changes ext/DB_File/DB_File.xs
+____________________________________________________________________________
+[ 4145] By: jhi on 1999/09/14 07:10:02
+ Log: I_PTHREAD was PTHREADEAD.
+ Branch: cfgperl
+ ! Configure config_h.SH
+ Branch: metaconfig
+ ! U/threads/i_pthread.U
+____________________________________________________________________________
+[ 4144] By: gsar on 1999/09/14 06:46:47
+ Log: change#4113 was missing DB_File.xs changes
+ Branch: perl
+ ! ext/DB_File/DB_File.xs
+____________________________________________________________________________
+[ 4143] By: jhi on 1999/09/13 20:16:20
+ Log: Small doc and whitespace edits.
+ Branch: cfgperl
+ ! ext/DynaLoader/dl_aix.xs ext/DynaLoader/dl_beos.xs
+ ! ext/DynaLoader/dl_cygwin.xs ext/DynaLoader/dl_dld.xs
+ ! ext/DynaLoader/dl_hpux.xs ext/DynaLoader/dl_mpeix.xs
+ ! ext/DynaLoader/dl_next.xs ext/DynaLoader/dl_rhapsody.xs
+ ! ext/DynaLoader/dl_vmesa.xs ext/DynaLoader/dl_vms.xs
+ ! pod/perldelta.pod
+____________________________________________________________________________
+[ 4142] By: gsar on 1999/09/13 19:32:31
+ Log: integrate cfgperl contents into mainline, update Changes
+ Branch: perl
+ +> ext/DB_File/version.c
+ ! Changes
+ !> (integrate 44 files)
+____________________________________________________________________________
+[ 4141] By: jhi on 1999/09/13 16:16:56
+ Log: Scan for <pthread.h> always.
+ Branch: cfgperl
+ ! Configure config_h.SH perl.h
+ Branch: metaconfig
+ ! U/threads/i_pthread.U
+____________________________________________________________________________
+[ 4140] By: jhi on 1999/09/13 16:00:08
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> (integrate 27 files)
+____________________________________________________________________________
+[ 4139] By: jhi on 1999/09/13 15:35:18
+ Log: Add -A option to Configure to diddle with variables
+ after the hints file has been applied.
+ Branch: cfgperl
+ ! Configure config_h.SH
+ Branch: metaconfig
+ ! U/modified/Oldconfig.U U/modified/Options.U
+____________________________________________________________________________
+[ 4138] By: jhi on 1999/09/13 13:42:56
+ Log: Change #4136 edited DynaLoader.xs which is kind of fruitless.
+ Branch: cfgperl
+ ! ext/DynaLoader/dl_aix.xs ext/DynaLoader/dl_beos.xs
+ ! ext/DynaLoader/dl_cygwin.xs ext/DynaLoader/dl_dld.xs
+ ! ext/DynaLoader/dl_hpux.xs ext/DynaLoader/dl_mpeix.xs
+ ! ext/DynaLoader/dl_next.xs ext/DynaLoader/dl_rhapsody.xs
+ ! ext/DynaLoader/dl_vmesa.xs ext/DynaLoader/dl_vms.xs
+____________________________________________________________________________
+[ 4137] By: jhi on 1999/09/13 13:25:31
+ Log: Applying change #4136 manually introduced patch residue.
+ Branch: cfgperl
+ ! perl.h
+____________________________________________________________________________
+[ 4136] By: jhi on 1999/09/13 13:23:04
+ Log: Replace change #4100 with
+ From: Robin Barker <rmb1@cise.npl.co.uk>
+ To: gsar@activestate.com
+ Cc: perl5-porters@perl.org
+ Subject: Re: [ID 19990907.004] [PATCH perl5.005_61] compiler warnings with -Duse64bits
+ Date: Mon, 13 Sep 1999 14:15:11 +0100 (BST)
+ Message-Id: <199909131315.OAA24012@tempest.npl.co.uk>
+ Branch: cfgperl
+ ! doio.c dump.c ext/B/B.xs ext/B/typemap
+ ! ext/ByteLoader/bytecode.h ext/Devel/DProf/DProf.xs
+ ! ext/DynaLoader/dl_dlopen.xs ext/ODBM_File/ODBM_File.xs
+ ! ext/POSIX/POSIX.xs lib/ExtUtils/typemap malloc.c perl.h pp.c
+ ! pp_ctl.c pp_hot.c pp_sys.c sv.c
+____________________________________________________________________________
+[ 4135] By: jhi on 1999/09/13 10:22:31
+ Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ To: perl5-porters@perl.org (Mailing list Perl5)
+ Subject: [PATCH 5.005_61] MakeMaker supports uninstalled Perls
+ Date: Sat, 11 Sep 1999 05:31:03 -0400 (EDT)
+ Message-Id: <199909110931.FAA11036@monk.mps.ohio-state.edu>
+
+ From: andreas.koenig@anima.de (Andreas J. Koenig)
+ To: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ Cc: perl5-porters@perl.org (Mailing list Perl5)
+ Subject: Re: [PATCH 5.005_61] MakeMaker supports uninstalled Perls
+ Date: 11 Sep 1999 15:36:26 +0200
+ Message-ID: <sfc906dr2n9.fsf@hohenstaufen.in-berlin.de>
+ Branch: cfgperl
+ ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm
+____________________________________________________________________________
+[ 4134] By: jhi on 1999/09/13 10:20:14
+ Log: From: Tom Phoenix <rootbeer@redcat.com>
+ To: Perl Porters Mailing List <perl5-porters@perl.org>
+ Subject: [DOCPATCH] Server errors and perldiag
+ Date: Fri, 10 Sep 1999 16:45:02 -0700 (PDT)
+ Message-ID: <Pine.GSO.4.10.9909101639490.16999-100000@user2.teleport.com>
+ Branch: cfgperl
+ ! pod/perldiag.pod
+____________________________________________________________________________
+[ 4133] By: gsar on 1999/09/13 03:25:43
+ Log: avoid assertion failure on C<@a'>
+ Branch: perl
+ ! toke.c
+____________________________________________________________________________
+[ 4132] By: gsar on 1999/09/13 03:03:57
+ Log: add -DPERL_Y2KWARN build option that will generate additional
+ warnings on "19$yy" etc (reworked a patch suggested by
+ Ulrich Pfeifer <upf@de.uu.net>)
+ Branch: perl
+ ! pod/perldelta.pod pod/perldiag.pod pod/perllexwarn.pod
+ ! pp_hot.c sv.c t/pragma/warn/pp_hot t/pragma/warn/sv
+____________________________________________________________________________
+[ 4131] By: gsar on 1999/09/12 22:06:25
+ Log: fix DATA leaks; reword documentation about the DATA filehandle
+ Branch: perl
+ ! ext/Opcode/Safe.pm lib/Pod/Functions.pm pod/perldata.pod
+____________________________________________________________________________
+[ 4130] By: gsar on 1999/09/12 20:08:56
+ Log: make sprintf("%g",...) threadsafe; only taint its result iff the
+ formatted result looks nonstandard
+ Branch: perl
+ ! embed.pl embedvar.h intrpvar.h objXSUB.h perl.c perlapi.c
+ ! pod/perlfunc.pod pod/perlguts.pod proto.h sv.c
+ ! t/pragma/locale.t thrdvar.h
+____________________________________________________________________________
+[ 4129] By: gsar on 1999/09/12 17:04:11
+ Log: From: Doug MacEachern <dougm@cp.net>
+ Date: Sun, 25 Jul 1999 15:49:00 -0700 (PDT)
+ Message-ID: <Pine.LNX.4.10.9907251538380.373-100000@mojo.eng.cp.net>
+ Subject: [PATCH 5.005_57] B::clearsym
+ Branch: perl
+ ! ext/B/B.pm ext/B/B/Bblock.pm ext/B/B/Debug.pm ext/B/B/Terse.pm
+____________________________________________________________________________
+[ 4128] By: gsar on 1999/09/12 16:59:12
+ Log: better debugger help output (from Ilya Zakharevich)
+ Branch: perl
+ ! lib/perl5db.pl
+____________________________________________________________________________
+[ 4127] By: jhi on 1999/09/11 20:50:37
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ +> pod/perlcompile.pod t/lib/gol-basic.t t/lib/gol-compat.t
+ +> t/lib/gol-linkage.t
+ !> (integrate 43 files)
+____________________________________________________________________________
+[ 4126] By: nick on 1999/09/10 20:44:22
+ Log: Get resolve -at mainline
+ Branch: utfperl
+ +> (branch 297 files)
+ - README.cygwin32 XSlock.h bytecode.h byterun.c byterun.h
+ - cygwin32/cw32imp.h cygwin32/gcc2 cygwin32/ld2 cygwin32/perlgcc
+ - cygwin32/perlld ext/B/byteperl.c ext/DynaLoader/dl_cygwin32.xs
+ - hints/cygwin32.sh interp.sym myconfig objpp.h perl_exp.SH
+ - t/pragma/warn-1global t/pragma/warning.t thread.sym
+ - win32/GenCAPI.pl win32/TEST win32/autosplit.pl
+ - win32/bin/network.pl win32/bin/webget.pl win32/bin/www.pl
+ - win32/genxsdef.pl win32/makedef.pl win32/makemain.pl
+ - win32/makeperldef.pl win32/perlhost.h
+ !> (integrate 847 files)
+____________________________________________________________________________
+[ 4125] By: gsar on 1999/09/10 19:22:14
+ Log: s/dXS_TARGET/dXSTARG/ in change#4044 (to match dARGS vs dXSARGS
+ etc.)
+ Branch: perl
+ ! XSUB.h pp.h
+____________________________________________________________________________
+[ 4124] By: gsar on 1999/09/10 19:14:35
+ Log: rewrote substantive parts of patch
+ From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ Date: Fri, 27 Aug 1999 19:02:18 -0400
+ Message-ID: <19990827190218.A19561@monk.mps.ohio-state.edu>
+ Subject: [PATCH 5.005_58] REx documentation
+ Branch: perl
+ ! pod/perlre.pod
+____________________________________________________________________________
+[ 4123] By: gsar on 1999/09/10 18:21:53
+ Log: note about AVf_*
+ Branch: perl
+ ! av.h
+____________________________________________________________________________
+[ 4122] By: gsar on 1999/09/10 17:55:42
+ Log: allow 'text' in L<text|A::B/"C"> (from Martin Lichtin
+ <lichtin@bivio.com>)
+ Branch: perl
+ ! lib/Pod/Html.pm
+____________________________________________________________________________
+[ 4121] By: gsar on 1999/09/10 17:49:35
+ Log: dos-djgpp update (from Laszlo Molnar <laszlo.molnar@eth.ericsson.se>)
+ Branch: perl
+ ! AUTHORS Changes README.dos djgpp/config.over
+ ! djgpp/configure.bat djgpp/djgpp.c djgpp/djgppsed.sh dosish.h
+ ! lib/ExtUtils/MM_Unix.pm pod/pod2usage.PL pod/podchecker.PL
+ ! pod/podselect.PL sv.h t/io/openpid.t util.c
+____________________________________________________________________________
+[ 4120] By: gsar on 1999/09/10 12:25:01
+ Log: add perlcompile.pod (edited content from Nathan Torkington
+ <gnat@frii.com> and others)
+ Branch: perl
+ + pod/perlcompile.pod
+ ! MANIFEST pod/Makefile pod/buildtoc pod/perl.pod pod/roffitall
+____________________________________________________________________________
+[ 4119] By: gsar on 1999/09/10 11:05:13
+ Log: avoid leaking static local_patches unless patchlevel.h is
+ explicitly included
+ Branch: perl
+ ! patchlevel.h perl.c
+____________________________________________________________________________
+[ 4118] By: gsar on 1999/09/10 10:44:54
+ Log: upgrade to Getopt::Long v2.20 (from Johan Vromans
+ <jvromans@squirrel.nl>)
+ Branch: perl
+ + t/lib/gol-basic.t t/lib/gol-compat.t t/lib/gol-linkage.t
+ ! Changes MANIFEST lib/Getopt/Long.pm
+____________________________________________________________________________
+[ 4117] By: jhi on 1999/09/09 18:24:30
+ Log: Remove ill-designed %B introduced by change #4111.
+ Branch: cfgperl
+ ! sv.c t/op/sprintf.t
+____________________________________________________________________________
+[ 4116] By: jhi on 1999/09/09 15:56:52
+ Log: perldeltify change #4115.
+ Branch: cfgperl
+ ! pod/perldelta.pod
+____________________________________________________________________________
+[ 4115] By: jhi on 1999/09/09 15:48:56
+ Log: From: "John L. Allen" <allen@grumman.com>
+ To: perl5-porters@perl.org
+ Subject: [ID 19990901.003] Time::Local should not croak on "out-of-range" days
+ Date: Wed, 1 Sep 1999 13:33:39 -0400 (EDT)
+ Message-Id: <199909011733.NAA17356@gateway.grumman.com>
+ Branch: cfgperl
+ ! lib/Time/Local.pm
+____________________________________________________________________________
+[ 4114] By: jhi on 1999/09/09 15:42:30
+ Log: From: "Daniel S. Lewart" <lewart@www.cvm.uiuc.edu>
+ To: perl5-porters@perl.org
+ Subject: [ID 19990909.003] MAXINT redefined warning on HP-UX 10.20
+ Date: Thu, 9 Sep 1999 10:33:37 -0500 (CDT)
+ Message-Id: <199909091533.KAA01242@www.cvm.uiuc.edu>
+ Branch: cfgperl
+ ! pp_sys.c
+____________________________________________________________________________
+[ 4113] By: jhi on 1999/09/09 10:17:45
+ Log: From: paul.marquess@bt.com
+ To: gsar@ActiveState.com
+ Cc: perl5-porters@perl.org
+ Subject: [PATCH 5.005_61] DB_File 1.71
+ Date: Thu, 9 Sep 1999 11:20:13 +0100
+ Message-ID: <5104D4DBC598D211B5FE0000F8FE7EB202D49BBE@mbtlipnt02.btlabs.bt.co.uk>
+ Branch: cfgperl
+ + ext/DB_File/version.c
+ ! MANIFEST ext/DB_File/Changes ext/DB_File/DB_File.pm
+ ! ext/DB_File/Makefile.PL ext/DB_File/dbinfo ext/DB_File/typemap
+ ! t/lib/db-btree.t
+____________________________________________________________________________
+[ 4112] By: jhi on 1999/09/09 09:05:32
+ Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ To: perl5-porters@perl.org (Mailing list Perl5)
+ Subject: [PATCH 5.005_58] Fix interaction of (?p{}) and (?>)
+ Date: Thu, 9 Sep 1999 04:40:11 -0400 (EDT)
+ Message-Id: <199909090840.EAA26471@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+ ! regexec.c t/op/pat.t
+____________________________________________________________________________
+[ 4111] By: jhi on 1999/09/09 07:50:07
+ Log: %#b in particular and %B in general were kaputt.
+ Branch: cfgperl
+ ! sv.c t/op/sprintf.t
+____________________________________________________________________________
+[ 4110] By: jhi on 1999/09/09 07:29:17
+ Log: Tidy up 64-bit situation in perldelta.
+ Branch: cfgperl
+ ! pod/perldelta.pod
+____________________________________________________________________________
+[ 4109] By: jhi on 1999/09/09 07:26:53
+ Log: Clear up PL_regcc issues.
+
+ From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ To: perl5-porters@perl.org (Mailing list Perl5)
+ Subject: [PATCH 5.005_60] Another regexec.c unobfuscation
+ Date: Thu, 9 Sep 1999 02:49:49 -0400 (EDT)
+ Message-Id: <199909090649.CAA26119@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+ ! regexec.c
+____________________________________________________________________________
+[ 4108] By: gsar on 1999/09/08 20:52:51
+ Log: avoid ass_u_ming uppercase types are not user objects (spotted
+ by Kurt Starsinic)
+ Branch: perl
+ ! ext/Data/Dumper/Dumper.pm
+____________________________________________________________________________
+[ 4107] By: gsar on 1999/09/08 20:35:18
+ Log: From: akim@epita.fr (DEMAILLE Akim)
+ Date: Wed, 8 Sep 1999 18:18:44 +0200 (CEST)
+ Message-Id: <m11OkQm-003A4IC@beyrouth.lrde.epita.fr>
+ Subject: [ID 19990908.014] s2p does not quote @
+ Branch: perl
+ ! x2p/s2p.PL
+____________________________________________________________________________
+[ 4106] By: gsar on 1999/09/08 20:25:12
+ Log: integrate cfgperl contents into mainline
+ Branch: perl
+ !> (integrate 30 files)
+____________________________________________________________________________
+[ 4105] By: jhi on 1999/09/08 09:02:37
+ Log: Minor touches at the [:class:] description.
+ Branch: cfgperl
+ ! pod/perlre.pod
+____________________________________________________________________________
+[ 4104] By: jhi on 1999/09/08 08:57:58
+ Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ To: Mailing list Perl5 <perl5-porters@perl.org>
+ Subject: [PATCH 5.005_58] Fix debugging output for REx
+ Date: Wed, 8 Sep 1999 05:02:02 -0400
+ Message-ID: <19990908050201.A17682@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+ ! regcomp.c
+____________________________________________________________________________
+[ 4103] By: gsar on 1999/09/08 00:53:50
+ Log: fix memory leak in C<sub f { split ' ', "a b" } f() while 1>
+ Branch: perl
+ ! pp.c
+____________________________________________________________________________
+[ 4102] By: gsar on 1999/09/08 00:52:50
+ Log: fix memory leak in C<sub f { @_ = 1 } f() while 1>
+ Branch: perl
+ ! cop.h pp_hot.c
+____________________________________________________________________________
+[ 4101] By: gsar on 1999/09/07 17:25:07
+ Log: various fixups for windows
+ Branch: perl
+ ! embed.h embed.pl objXSUB.h op.c perlapi.c proto.h
+ ! win32/Makefile win32/makefile.mk xsutils.c
+____________________________________________________________________________
+[ 4100] By: jhi on 1999/09/07 12:49:15
+ Log: Fix pointer casts.
+
+ From: Robin Barker <rmb1@cise.npl.co.uk>
+ To: perl5-porters@perl.org
+ Subject: [ID 19990907.004] [PATCH perl5.005_61] compiler warnings with
+ -Duse64bits
+ Date: Tue, 7 Sep 1999 12:30:18 +0100 (BST)
+ Message-Id: <199909071130.MAA11435@tempest.npl.co.uk>
+ Branch: cfgperl
+ ! doio.c dump.c ext/B/B.xs ext/B/typemap
+ ! ext/ByteLoader/bytecode.h ext/Devel/DProf/DProf.xs
+ ! ext/DynaLoader/dl_dlopen.xs ext/ODBM_File/ODBM_File.xs
+ ! ext/POSIX/POSIX.xs lib/ExtUtils/typemap malloc.c perl.h pp.c
+ ! pp_ctl.c pp_hot.c pp_sys.c sv.c
+____________________________________________________________________________
+[ 4099] By: jhi on 1999/09/07 10:29:04
+ Log: Add sig/pid/uid size and sign probes.
+ Branch: metaconfig
+ + U/typedefs/gidsign.U U/typedefs/gidsize.U U/typedefs/pidsign.U
+ + U/typedefs/pidsize.U U/typedefs/uidsign.U U/typedefs/uidsize.U
+____________________________________________________________________________
+[ 4098] By: jhi on 1999/09/07 10:27:06
+ Log: Band-aid until we've got %{Uid_t} or something similar
+ for sv_catpvfn().
+ Branch: cfgperl
+ ! taint.c
+____________________________________________________________________________
+[ 4097] By: jhi on 1999/09/07 09:41:23
+ Log: Fix a printf thinko: now quads must have the ll L q prefix.
+ (in other words, a bare %d is an int/unsigned)
+ Branch: cfgperl
+ ! pp_sys.c sv.c t/op/64bit.t
+____________________________________________________________________________
+[ 4096] By: jhi on 1999/09/07 07:36:17
+ Log: HP-UX 10.20 and gcc 2.8.1 break UINT32_MAX.
+
+ From: "Daniel S. Lewart" <lewart@www.cvm.uiuc.edu>
+ To: perl5-porters@perl.org
+ Subject: [ID 19990906.007] Not OK: perl 5.00561 on PA-RISC1.1 10.20
+ Date: Mon, 6 Sep 1999 21:18:12 -0500 (CDT)
+ Message-Id: <199909070218.VAA29232@www.cvm.uiuc.edu>
+ Branch: cfgperl
+ ! hints/hpux.sh perl.h
+____________________________________________________________________________
+[ 4095] By: gsar on 1999/09/06 20:47:02
+ Log: applied suggested patch with suitable test to detect MSVC
+ From: "Vishal Bhatia" <vishalb@my-deja.com>
+ Date: Wed, 11 Aug 1999 01:43:28 -0700
+ Message-ID: <GFCJELIOGEENAAAA@my-deja.com>
+ Subject: compiler on win32
+ Branch: perl
+ ! ext/B/B/C.pm
+____________________________________________________________________________
+[ 4094] By: jhi on 1999/09/06 20:34:44
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> ext/B/B/Bytecode.pm lib/Test/Harness.pm t/TEST t/UTEST
+ !> t/harness t/pragma/sub_lval.t utils/Makefile utils/perlcc.PL
+____________________________________________________________________________
+[ 4093] By: jhi on 1999/09/06 20:33:43
+ Log: Fix UV_SIZEOF to UVSIZE; change the overflow tests
+ so that they overflow also on 64-bit platforms.
+ Branch: cfgperl
+ ! t/pragma/warn/toke t/pragma/warn/util toke.c util.c
+____________________________________________________________________________
+[ 4092] By: gsar on 1999/09/06 20:16:58
+ Log: support bytecode and C backends in perlcc (patch suggested
+ by Tom Hughes <tom@compton.au>); s/-opt/-noopt/ and make the
+ C backend the default; describe new switches in pod; introduce
+ PERLCC_OPTS and s/COMPILE_TIMEOUT/PERLCC_TIMEOUT/;
+ s/COMPILE_TEST/HARNESS_COMPILE_TEST/; document these %ENV
+ entries
+ Branch: perl
+ ! ext/B/B/Bytecode.pm lib/Test/Harness.pm t/TEST t/UTEST
+ ! t/harness utils/Makefile utils/perlcc.PL
+____________________________________________________________________________
+[ 4091] By: jhi on 1999/09/06 19:10:41
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ +> t/pragma/sub_lval.t
+ !> (integrate 52 files)
+____________________________________________________________________________
+[ 4090] By: gsar on 1999/09/06 19:09:06
+ Log: propagate changed error text
+ Branch: perl
+ ! t/pragma/sub_lval.t
+____________________________________________________________________________
+[ 4089] By: gsar on 1999/09/06 18:54:43
+ Log: sprintf doc tweak (from Ian Phillipps <ian@dial.pipex.com>)
+ Branch: perl
+ ! pod/perlfunc.pod
+____________________________________________________________________________
+[ 4088] By: gsar on 1999/09/06 18:52:10
+ Log: From: paul.marquess@bt.com
+ Date: Sun, 5 Sep 1999 15:11:08 +0100
+ Message-ID: <5104D4DBC598D211B5FE0000F8FE7EB202D49BAB@mbtlipnt02.btlabs.bt.co.uk>
+ Subject: [PATCH 5.005_61] Another patch for Lexical Warnings
+ Branch: perl
+ ! pp_sys.c t/pragma/warn/doio t/pragma/warn/op
+ ! t/pragma/warn/pp_hot t/pragma/warn/pp_sys
+ ! t/pragma/warn/regcomp t/pragma/warn/sv t/pragma/warn/toke
+ ! t/pragma/warn/universal t/pragma/warn/utf8 t/pragma/warn/util
+ ! toke.c
+____________________________________________________________________________
+[ 4087] By: gsar on 1999/09/06 18:06:06
+ Log: change#3612 is buggy when quotemeta argument matches target
+ (hope this is the last of the optimized-OP_SASSIGN bugs)
+ From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ Date: Sun, 5 Sep 1999 06:07:42 -0400 (EDT)
+ Message-Id: <199909051007.GAA06423@monk.mps.ohio-state.edu>
+ Subject: Re: [BUG: quotemeta]
+ Branch: perl
+ ! Changes op.c t/op/lex_assign.t
+____________________________________________________________________________
+[ 4086] By: gsar on 1999/09/06 17:57:52
+ Log: misc tweaks
+ Branch: perl
+ ! bytecode.pl ext/ByteLoader/byterun.h pod/perlsyn.pod toke.c
+____________________________________________________________________________
+[ 4085] By: gsar on 1999/09/06 03:54:23
+ Log: applied patch suggested by Hans Mulder to fix problems on
+ OPENSTEP-Mach; be more careful about PERL_POLLUTE_MALLOC
+ when they ask for bincompat (platforms that used to default
+ to EMBEDMYMALLOC continue to do so); disable warnings.t#192
+ (appears unsalvageable on some platforms)
+ Branch: perl
+ ! embed.h embed.pl handy.h perl.h pp_sys.c t/pragma/warn/pp_hot
+____________________________________________________________________________
+[ 4084] By: bailey on 1999/09/06 02:39:11
+ Log: Integrate mainline 5.05_61
+ Branch: vmsperl
+ +> (branch 32 files)
+ - lib/unicode/EthiopicSyllables.txt
+ - lib/unicode/MakeEthiopicSyllables.PL t/pragma/warning.t
+ - warning.pl
+ ! vms/descrip_mms.template vms/gen_shrfls.pl vms/perly_c.vms
+ ! vms/perly_h.vms vms/vms.c
+ !> (integrate 346 files)
+____________________________________________________________________________
+[ 4083] By: gsar on 1999/09/06 00:10:40
+ Log: optional warning on join(/foo/...) (reworked suggested patch
+ by Mark-Jason Dominus <mjd@plover.com>)
+ Branch: perl
+ ! embed.h objXSUB.h op.c opcode.h opcode.pl perlapi.c
+ ! pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod pp.sym
+ ! pp_proto.h t/pragma/warn/op
+____________________________________________________________________________
+[ 4082] By: gsar on 1999/09/05 22:28:57
+ Log: fix data loss when more than one block is read from SDBM
+ *.dir file (suggested by Uwe Ohse <uwe@ohse.de>)
+ Branch: perl
+ ! ext/SDBM_File/sdbm/sdbm.c
+____________________________________________________________________________
+[ 4081] By: gsar on 1999/09/05 22:07:18
+ Log: initial implementation of lvalue subroutines (slightly fixed
+ version of patch suggested by Ilya Zakharevich, which in turn
+ is based on the one suggested by Tuomas J. Lukka <lukka@iki.fi>)
+ Branch: perl
+ + t/pragma/sub_lval.t
+ ! MANIFEST cop.h cv.h dump.c embed.h ext/Opcode/Opcode.pm
+ ! ext/attrs/attrs.pm ext/attrs/attrs.xs global.sym objXSUB.h
+ ! op.c op.h opcode.h opcode.pl opnames.h perlapi.c
+ ! pod/perldiag.pod pod/perlsub.pod pp.c pp.sym pp_hot.c
+ ! pp_proto.h proto.h t/pragma/warn/pp_ctl
+____________________________________________________________________________
+[ 4080] By: jhi on 1999/09/05 22:02:18
+ Log: Undo #4055 (related to #4079).
+ Branch: cfgperl
+ ! pod/perlop.pod
+____________________________________________________________________________
+[ 4079] By: jhi on 1999/09/05 21:30:54
+ Log: Time is not yet ripe.
+ Branch: cfgperl
+ ! pod/perldelta.pod pod/perlop.pod pp.c t/op/64bit.t t/op/misc.t
+____________________________________________________________________________
+[ 4078] By: gsar on 1999/09/05 18:17:32
+ Log: modified suggested patch to handle cross-refs and qr// objects
+ correctly; unfollowed refs are represented as simple string
+ value, not just the bare type; $VERSION stays the same until
+ it is ready for prime time (avoids CPAN confustication)
+ From: John Nolan <jpnolan@Op.Net>
+ Date: Wed, 04 Aug 1999 20:21:10 EDT
+ Message-Id: <199908050021.UAA09693@monet.op.net>
+ Subject: [ID 19990804.006] [PATCH]5.005_60 (Data::Dumper) - implements Maxdepth setting
+ Branch: perl
+ ! Changes ext/Data/Dumper/Changes ext/Data/Dumper/Dumper.pm
+ ! ext/Data/Dumper/Dumper.xs ext/Data/Dumper/Todo t/lib/dumper.t
+____________________________________________________________________________
+[ 4077] By: jhi on 1999/09/04 21:54:42
+ Log: timesum() wasn't @EXPORTed as promised by the documentation.
+ Bug reported by Alex Efros <powerman@inart.kharkov.com>.
+ Branch: cfgperl
+ ! lib/Benchmark.pm
+____________________________________________________________________________
+[ 4076] By: gsar on 1999/09/04 20:21:59
+ Log: integrate cfgperl contents into mainline
+ Branch: perl
+ +> lib/attributes.pm lib/warnings.pm t/lib/attrs.t t/op/attrs.t
+ +> t/pragma/warn/7fatal t/pragma/warn/8signal t/pragma/warnings.t
+ +> warnings.h warnings.pl xsutils.c
+ - lib/warning.pm t/pragma/warning.t warning.h warning.pl
+ !> (integrate 109 files)
+____________________________________________________________________________
+[ 4075] By: jhi on 1999/09/04 18:04:47
+ Log: use integer on the problematic subtest.
+ Branch: cfgperl
+ ! t/op/misc.t
+____________________________________________________________________________
+[ 4074] By: jhi on 1999/09/04 17:57:40
+ Log: Warn about numconvert.t in case somebody
+ wants to make sv_2pv more 64-bit aware.
+ Branch: cfgperl
+ ! sv.c
+____________________________________________________________________________
+[ 4073] By: jhi on 1999/09/04 17:54:51
+ Log: Comment upgrading: the quad situation isn't quite as
+ bad as it used to be.
+ Branch: cfgperl
+ ! perl.h
+____________________________________________________________________________
+[ 4072] By: jhi on 1999/09/04 15:35:37
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ !> win32/win32.c
+____________________________________________________________________________
+[ 4071] By: jhi on 1999/09/04 15:28:11
+ Log: Fix LFS with -Duseperlio in Solaris. Reported in
+
+ From: Robin Barker <rmb1@cise.npl.co.uk>
+ To: perl5-porters@perl.org
+ Subject: [ID 19990823.009] [PATCH perl5.005_61] typo in perl.h
+ Date: Mon, 23 Aug 1999 16:41:11 +0100 (BST)
+ Message-Id: <199908231541.QAA10043@tempest.npl.co.uk>
+
+ and later (in private email) found to be dependent
+ on useperlio.
+
+ Mental note: the cpp magic done in perlsdio.h (and assumedly
+ also in perlsfio.h) may cause trouble later with lfs because
+ both the perlio scheme by Perl and the lfs support by vendors
+ like to play cpp games to map the stdio namespace back and forth.
+ The problem fixed here (fseek vs fseeko, ftell vs ftello) may be
+ just the beginning.
+ Branch: cfgperl
+ ! perlio.c
+____________________________________________________________________________
+[ 4070] By: jhi on 1999/09/04 13:12:14
+ Log: Enable 64-bit clean bit ops.
+ (Disables the t/op/misc.t substest 3 in 64-bit platforms.)
+ Branch: cfgperl
+ ! pod/perldelta.pod pod/perlop.pod pp.c pp_hot.c t/op/64bit.t
+ ! t/op/misc.t
+____________________________________________________________________________
+[ 4069] By: jhi on 1999/09/03 21:17:30
+ Log: Turn on USE_64_BIT_OFFSETS implicitly.
+ Branch: cfgperl
+ ! perl.h
+____________________________________________________________________________
+[ 4068] By: jhi on 1999/09/03 08:19:59
+ Log: Fix from Spider for the sub attributes (there was an undocumented
+ dependency between force_word() and skipspace()).
+ Branch: cfgperl
+ ! toke.c
+____________________________________________________________________________
+[ 4067] By: jhi on 1999/09/01 23:17:06
+ Log: From: John Tobey <spam@john-edwin-tobey.org>
+ To: ilya@math.ohio-state.edu
+ CC: perl5-porters@perl.org
+ Subject: Re: [PATCH 5.005_60] distclean forgot two
+ Date: Mon, 23 Aug 1999 02:10:11 -0400 (EDT)
+ Message-Id: <m11InJ5-000FPCC@feynman.localnet>
+ Branch: cfgperl
+ ! t/lib/dprof.t
+____________________________________________________________________________
+[ 4066] By: jhi on 1999/09/01 23:14:50
+ Log: From: "Fifer, Eric" <EFifer@sanwaint.com>
+ To: perl5-porters@perl.org
+ Subject: [ID 19990821.001] [PATCH] perl5.005_60 cygwin port
+ Date: Fri, 20 Aug 1999 15:37:27 +0100
+ Message-Id: <8A160D637356D311BC4300600849EC8122E217@POST>
+ Branch: cfgperl
+ ! cygwin/Makefile.SHs ext/ByteLoader/byterun.h
+ ! ext/SDBM_File/sdbm/sdbm.c hints/cygwin.sh perl.h pp_sys.c
+ ! t/io/fs.t t/io/tell.t t/lib/anydbm.t t/op/stat.t
+____________________________________________________________________________
+[ 4065] By: jhi on 1999/09/01 22:06:43
+ Log: From: Dominic Dunlop <domo@vo.lu>
+ To: perl5-porters@perl.org
+ Subject: [ID 19990819.001] Not OK: perl 5.00560 on powerpc-machten 4.1.1
+ (UNINSTALLED) [PATCH]
+ Date: Thu, 19 Aug 1999 09:48:03 +0200
+ Message-Id: <v03110709b3e165b51dda@[212.24.192.132]>
+
+ The PERL_POLLUTE_MALLOC part had to be manually applied.
+ Branch: cfgperl
+ ! hints/machten.sh perl.h
+____________________________________________________________________________
+[ 4064] By: jhi on 1999/09/01 13:56:14
+ Log: From: Martin Lichtin <lichtin@bivio.com>
+ To: jhi@iki.fi
+ CC: perl5-porters@perl.org
+ Subject: Re: [ID 19990829.001] ExtUtils::Install.pm, minor umask problem
+ Date: Wed, 01 Sep 1999 15:50:04 +0200
+ Message-ID: <37CD2F0C.944BFACE@bivio.com>
+ Branch: cfgperl
+ ! lib/ExtUtils/Install.pm
+____________________________________________________________________________
+[ 4063] By: jhi on 1999/09/01 13:16:11
+ Log: Enhance lfs tests: check every seek and sysseek
+ and test also that -e and -f detect largefiles.
+ Branch: cfgperl
+ ! t/lib/syslfs.t t/op/lfs.t
+____________________________________________________________________________
+[ 4062] By: jhi on 1999/09/01 12:08:04
+ Log: From: Colin Kuskie <ckuskie@Cadence.COM>
+ To: Ronald J Kimball <rjk@linguist.dartmouth.edu>
+ cc: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>,
+ The Perl Porters Mailing List <perl5-porters@perl.org>
+ Subject: [REPATCH 5.005_61] Re: perldiag.pod omissions
+ Date: Tue, 31 Aug 1999 11:24:31 -0700 (PDT)
+ Message-ID: <Pine.GSO.4.10.9908311055460.11290-100000@pdxult10a.cadence.com>
+ Branch: cfgperl
+ ! pod/perldiag.pod
+____________________________________________________________________________
+[ 4061] By: jhi on 1999/09/01 12:03:03
+ Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ To: ilya@math.ohio-state.edu (Ilya Zakharevich)
+ Cc: perl5-porters@perl.org, cloos@adamsmith.ai
+ Subject: Re: [ID 19990830.005] Assigning value of an op on an SV to said SV
+ Date: Wed, 1 Sep 1999 02:56:06 -0400 (EDT)
+ Message-Id: <199909010656.CAA04478@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+ ! op.c t/op/join.t
+____________________________________________________________________________
+[ 4060] By: jhi on 1999/09/01 07:59:42
+ Log: IV_DIG and NV_DIG fixes.
+ Branch: cfgperl
+ ! perl.h
+____________________________________________________________________________
+[ 4059] By: jhi on 1999/08/31 14:47:18
+ Log: \C{} -> \N{} residue.
+ Branch: cfgperl
+ ! toke.c
+____________________________________________________________________________
+[ 4058] By: jhi on 1999/08/31 08:57:35
+ Log: For some odd reason #4056 didn't undo #3922 completely.
+ Branch: cfgperl
+ ! pp.c
+____________________________________________________________________________
+[ 4057] By: gsar on 1999/08/30 22:08:19
+ Log: avoid hiding child process window
+ Branch: perl
+ ! win32/win32.c
+____________________________________________________________________________
+[ 4056] By: jhi on 1999/08/30 21:36:24
+ Log: Retract #3922 (Rule #1 was invoked).
+ (See also #4058).
+ Branch: cfgperl
+ ! pod/perldiag.pod pp.c regexp.h
+____________________________________________________________________________
+[ 4055] By: jhi on 1999/08/30 21:20:50
+ Log: Document the undefinedness of overshifting.
+ Branch: cfgperl
+ ! pod/perlop.pod
+____________________________________________________________________________
+[ 4054] By: jhi on 1999/08/30 20:18:18
+ Log: History fixes and updates.
+ Branch: cfgperl
+ ! pod/perlhist.pod
+____________________________________________________________________________
+[ 4053] By: jhi on 1999/08/30 19:34:02
+ Log: Shell quoting thinko broke installdirs.
+ From: JVromans@Squirrel.nl (Johan Vromans)
+ To: perl5-porters@perl.org
+ Subject: [ID 19990830.001] 5.005_61 Configure does not substitute
+ installprefix
+ Date: Mon, 30 Aug 1999 16:10:10 +0200 (MEST)
+ Message-Id: <14282.37058.934928.805633@plume.nl.compuware.com>
+ Branch: cfgperl
+ ! Configure config_h.SH
+ Branch: metaconfig
+ ! U/installdirs/archlib.U U/installdirs/bin.U
+ ! U/installdirs/html1dir.U U/installdirs/html3dir.U
+ ! U/installdirs/installprefix.U U/installdirs/man1dir.U
+ ! U/installdirs/man3dir.U U/installdirs/privlib.U
+ ! U/installdirs/scriptdir.U U/installdirs/sitearch.U
+ ! U/installdirs/sitebin.U U/installdirs/sitehtml1dir.U
+ ! U/installdirs/sitehtml3dir.U U/installdirs/sitelib.U
+ ! U/installdirs/siteman1dir.U U/installdirs/siteman3dir.U
+ ! U/installdirs/sitescriptdir.U U/installdirs/vendorarch.U
+ ! U/installdirs/vendorbin.U U/installdirs/vendorhtml1dir.U
+ ! U/installdirs/vendorhtml3dir.U U/installdirs/vendorlib.U
+ ! U/installdirs/vendorman1dir.U U/installdirs/vendorman3dir.U
+ ! U/installdirs/vendorscriptdir.U
+____________________________________________________________________________
+[ 4052] By: jhi on 1999/08/30 02:57:05
+ Log: Use \N{named characters} instead of \C.
+ From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ To: jhi@iki.fi
+ Cc: larry@wall.org (Larry Wall), Tim.Bunce@ig.co.uk (Tim Bunce),
+ perl5-porters@perl.org (Mailing list Perl5)
+ Subject: Re: [PATCH 5.005_58] Named characters in Perl
+ Date: Sun, 29 Aug 1999 16:46:53 -0400 (EDT)
+ Message-Id: <199908292046.QAA05510@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+ ! lib/charnames.pm lib/utf8.pm pod/perldiag.pod pod/perlop.pod
+ ! pod/perlre.pod regcomp.c t/lib/charnames.t toke.c
+____________________________________________________________________________
+[ 4051] By: jhi on 1999/08/30 02:54:20
+ Log: From: Spider Boardman <spider@Orb.Nashua.NH.US>
+ To: perl5-porters@perl.org
+ Subject: [ID 19990829.004] Autoloaded &VERSION and UNIVERSAL::VERSION
+ don't mix
+ Date: Sun, 29 Aug 1999 19:04:53 -0400
+ Message-Id: <199908292304.TAA13738@Orb.Nashua.NH.US>
+ Branch: cfgperl
+ ! universal.c
+____________________________________________________________________________
+[ 4050] By: jhi on 1999/08/29 16:38:58
+ Log: Conditionally socksify the LIBS of Socket.
+ Branch: cfgperl
+ ! ext/Socket/Makefile.PL
+____________________________________________________________________________
+[ 4049] By: jhi on 1999/08/29 15:33:30
+ Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ To: Mailing list Perl5 <perl5-porters@perl.org>
+ Subject: Re: [PATCH 5.005_60] fix @DB::typeahead
+ Date: Wed, 25 Aug 1999 16:19:58 -0400
+ Message-ID: <19990825161958.A4658@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+ ! lib/perl5db.pl
+____________________________________________________________________________
+[ 4048] By: jhi on 1999/08/29 15:31:36
+ Log: From: Stephen McCamant <smccam@uclink4.berkeley.edu>
+ To: perl5-porters@perl.org
+ Subject: [PATCH _61] Lost arguments to simplified sort
+ Date: Wed, 25 Aug 1999 23:22:32 -0700 (PDT)
+ Message-ID: <14276.56616.879390.562685@metonymy.hip.berkeley.edu>
+ Branch: cfgperl
+ ! op.c t/op/sort.t
+____________________________________________________________________________
+[ 4047] By: jhi on 1999/08/29 15:29:29
+ Log: From: Olaf Flebbe <olaf@science-computing.de>
+ Sender: owner-perl5-porters@perl.org
+ To: perl5-porters@perl.org
+ Subject: [ID 19990827.003] [PATCH]5.005_60 Patch for EPOC Support
+ Date: Fri, 27 Aug 1999 21:50:41 +0200 (MEST)
+ Branch: cfgperl
+ ! README.epoc epoc/config.h epoc/epoc.c epoc/epocish.h
+ ! epoc/perl.mmp epoc/perl.pkg
+____________________________________________________________________________
+[ 4046] By: jhi on 1999/08/29 15:21:18
+ Log: From: pvhp@forte.com (Peter Prymmer)
+ To: perl5-porters@perl.org
+ Subject: [PATCH: 5.005_61] an EBCDIC friendly cgi-html.t test
+ Date: Fri, 27 Aug 99 18:51:04 PDT
+ Message-Id: <9908280151.AA05010@forte.com>
+ Branch: cfgperl
+ ! t/lib/cgi-html.t
+____________________________________________________________________________
+[ 4045] By: jhi on 1999/08/29 15:18:38
+ Log: Fix scalar gmtime (and localtime) in quad environments,
+ bug reported by Robin Parker.
+
+ From: Robin Barker <rmb1@cise.npl.co.uk>
+ To: jhi@iki.fi
+ Cc: perl5-porters@perl.org
+ Subject: Re: [ID 19990823.009] [PATCH perl5.005_61] typo in perl.h
+ Date: Tue, 24 Aug 1999 11:09:24 +0100 (BST)
+ Message-Id: <199908241009.LAA24394@tempest.npl.co.uk>
+ Branch: cfgperl
+ ! pp_sys.c t/op/time.t
+____________________________________________________________________________
+[ 4044] By: jhi on 1999/08/29 11:24:03
+ Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+ To: perl5-porters@perl.org (Mailing list Perl5)
+ Subject: [PATCH 5.005_60] Speeding up XSUB calls up to 66%
+ Date: Fri, 27 Aug 1999 03:33:01 -0400 (EDT)
+ Message-Id: <199908270733.DAA16927@monk.mps.ohio-state.edu>
+
+ Addendum: it's "only" 33% speedup.
+ Branch: cfgperl
+ ! dump.c op.c op.h pp.h
+____________________________________________________________________________
+[ 4043] By: jhi on 1999/08/29 11:10:33
+ Log: From: spider-perl@Orb.Nashua.NH.US
+ To: Mailing list Perl5 <perl5-porters@perl.org>
+ Subject: [PATCH 5.005_61 CORE] sub : attrlist
+ Date: Sun, 29 Aug 1999 03:02:11 -0400
+ Message-Id: <199908290702.DAA32191@Orb.Nashua.NH.US>
+ Branch: cfgperl
+ + lib/attributes.pm t/lib/attrs.t t/op/attrs.t xsutils.c
+ ! MANIFEST Makefile.SH embed.h embed.pl embedvar.h global.sym
+ ! gv.c lib/AutoSplit.pm lib/SelfLoader.pm objXSUB.h op.c perl.c
+ ! perl.h perlapi.c perlapi.h perly.c perly.fixer perly.h perly.y
+ ! perly_c.diff pod/perldelta.pod pod/perldiag.pod
+ ! pod/perlfunc.pod pod/perlmodlib.pod pod/perlsub.pod proto.h
+ ! toke.c vms/perly_c.vms vms/perly_h.vms warnings.h
+____________________________________________________________________________
+[ 4042] By: jhi on 1999/08/29 11:08:50
+ Log: Turn off gcc-2.95's strict-alias optimization.
+ This, of course, should be only temporary.
+ From Andy Dougherty.
+ Branch: cfgperl
+ ! Configure config_h.SH
+ Branch: metaconfig
+ ! U/compline/ccflags.U U/modified/cc.U
+____________________________________________________________________________
+[ 4041] By: jhi on 1999/08/29 10:47:30
+ Log: Fix a typo in #4036.
+ Branch: cfgperl
+ ! mg.c
+____________________________________________________________________________
+[ 4040] By: jhi on 1999/08/29 10:34:58
+ Log: Add a missing #endif forgotten by #4035.
+ Branch: cfgperl
+ ! doop.c
+____________________________________________________________________________
+[ 4039] By: jhi on 1999/08/29 10:31:19
+ Log: Remove an extra #endif introduced by #4036.
+ Branch: cfgperl
+ ! perl.h
+____________________________________________________________________________
+[ 4038] By: jhi on 1999/08/29 10:18:59
+ Log: Rename warning to warnings, from Paul Marquess.
+ Branch: cfgperl
+ + lib/warnings.pm t/pragma/warn/7fatal t/pragma/warn/8signal
+ + t/pragma/warnings.t warnings.h warnings.pl
+ - lib/warning.pm t/pragma/warning.t warning.h warning.pl
+ ! MANIFEST Makefile.SH gv.c mg.c perl.h pod/perldelta.pod
+ ! pod/perldiag.pod pod/perlfunc.pod pod/perllexwarn.pod
+ ! pod/perlmodlib.pod pod/perlrun.pod pod/perltoc.pod
+ ! pod/perlvar.pod t/op/64bit.t t/op/tie.t t/pragma/warn/2use
+ ! t/pragma/warn/3both t/pragma/warn/4lint t/pragma/warn/5nolint
+ ! t/pragma/warn/6default t/pragma/warn/doio t/pragma/warn/doop
+ ! t/pragma/warn/gv t/pragma/warn/mg t/pragma/warn/op
+ ! t/pragma/warn/perl t/pragma/warn/perly t/pragma/warn/pp
+ ! t/pragma/warn/pp_ctl t/pragma/warn/pp_hot t/pragma/warn/pp_sys
+ ! t/pragma/warn/regcomp t/pragma/warn/regexec t/pragma/warn/sv
+ ! t/pragma/warn/taint t/pragma/warn/toke t/pragma/warn/universal
+ ! t/pragma/warn/utf8 t/pragma/warn/util toke.c
+____________________________________________________________________________
+[ 4037] By: jhi on 1999/08/29 10:08:47
+ Log: Create the equivalence tables based on
+ the real Unicode decomposition, not on
+ the character name.
+ Branch: cfgperl
+ ! lib/unicode/Eq/Latin1 lib/unicode/Eq/Unicode
+ ! lib/unicode/mktables.PL
+____________________________________________________________________________
+[ 4036] By: jhi on 1999/08/29 09:29:08
+ Log: Integrate with Sarathy.
+ Branch: cfgperl
+ +> lib/unicode/Is/SylA.pl lib/unicode/Is/SylC.pl
+ +> lib/unicode/Is/SylE.pl lib/unicode/Is/SylI.pl
+ +> lib/unicode/Is/SylO.pl lib/unicode/Is/SylU.pl
+ +> lib/unicode/Is/SylV.pl lib/unicode/Is/SylWA.pl
+ +> lib/unicode/Is/SylWC.pl lib/unicode/Is/SylWE.pl
+ +> lib/unicode/Is/SylWI.pl lib/unicode/Is/SylWV.pl
+ !> (integrate 190 files)
+____________________________________________________________________________
+[ 4035] By: jhi on 1999/08/29 08:56:15
+ Log: Implement 64-bit vec().
+ Branch: cfgperl
+ ! doop.c pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod
+ ! pp.h t/op/64bit.t
+____________________________________________________________________________
+[ 4034] By: gsar on 1999/08/29 03:35:18
+ Log: deadcode removal
+ Branch: perl
+ ! XSUB.h embed.h embed.pl global.sym mg.c op.c perl.h perlapi.h
+ ! pp_ctl.c proto.h run.c sv.c
+____________________________________________________________________________
+[ 4033] By: jhi on 1999/08/28 17:31:07
+ Log: From: Robin Barker <rmb1@cise.npl.co.uk>
+ To: perl5-porters@perl.org
+ Subject: [ID 19990823.009] [PATCH perl5.005_61] typo in perl.h
+ Date: Mon, 23 Aug 1999 16:41:11 +0100 (BST)
+ Message-Id: <199908231541.QAA10043@tempest.npl.co.uk>
+ Branch: cfgperl
+ ! perl.h
+____________________________________________________________________________
+[ 4032] By: gsar on 1999/08/26 23:53:33
+ Log: new thread should set current interp in TLS
+ Branch: perl
+ ! ext/Thread/Thread.xs
+____________________________________________________________________________
+[ 4031] By: bailey on 1999/08/23 03:40:07
+ Log: When extension doesn't have a "main" object file to anchor linker search, pull in all objct files
+ Branch: vmsperl
+ ! lib/ExtUtils/MM_VMS.pm
+____________________________________________________________________________
+[ 4030] By: bailey on 1999/08/23 03:37:43
+ Log: Patch up holes in realclean target
+ Branch: vmsperl
+ ! vms/descrip_mms.template
+____________________________________________________________________________
+[ 4029] By: bailey on 1999/08/23 03:36:24
+ Log: Fix handling of PERL_POLLUTE
+ Branch: vmsperl
+ ! lib/ExtUtils/MM_VMS.pm
+____________________________________________________________________________
+[ 4028] By: bailey on 1999/08/23 03:34:08
+ Log: Update VMS version of perly.h
+ Branch: vmsperl
+ ! vms/perly_h.vms
+____________________________________________________________________________
+[ 4027] By: bailey on 1999/08/23 03:32:45
+ Log: Update dependencies in Descrip.MMS
+ Branch: vmsperl
+ ! vms/descrip_mms.template
+____________________________________________________________________________
+[ 4026] By: bailey on 1999/08/23 03:30:01
+ Log: Fix prototypes in perlapi.c (64-bit?)
+ Clear prior definition of getenv_len before defining VMS-specific macro
+ Branch: vmsperl
+ ! perlapi.c vms/vmsish.h
+____________________________________________________________________________
+[ 4025] By: bailey on 1999/08/23 03:25:51
+ Log: Add '-m' option to Configure.com which skips the MANIFEST check
+ Branch: vmsperl
+ ! configure.com
+____________________________________________________________________________
+[ 4024] By: bailey on 1999/08/23 03:23:34
+ Log: Skip open() tests that rely on Unix fork semantics
+ Branch: vmsperl
+ ! t/io/open.t
+____________________________________________________________________________
+[ 4023] By: bailey on 1999/08/23 03:21:46
+ Log: Loosen conditons for recognizing a function name in perl.h to accomodate revisions
+ Branch: vmsperl
+ ! vms/gen_shrfls.pl
+____________________________________________________________________________
+[ 4022] By: bailey on 1999/08/23 03:17:33
+ Log: update MM_VMS to use new File::Spec routines
+ Branch: vmsperl
+ ! lib/ExtUtils/MM_VMS.pm lib/File/Spec/VMS.pm
+____________________________________________________________________________
+[ 4021] By: bailey on 1999/08/23 03:13:40
+ Log: byteperl is now part of the ByteLoader ext
+ Branch: vmsperl
+ ! ext/ByteLoader/byterun.h vms/descrip_mms.template
+____________________________________________________________________________
+[ 4020] By: bailey on 1999/08/23 03:10:41
+ Log: Allow option to treat barewords at start of Unix paths as simple words rather than logicals
+ Branch: vmsperl
+ ! vms/vms.c
+____________________________________________________________________________
+[ 4019] By: bailey on 1999/08/23 03:07:28
+ Log: Update calls for new thread context handling
+ Branch: vmsperl
+ ! ext/Devel/DProf/DProf.xs ext/DynaLoader/dl_vms.xs
+ ! ext/POSIX/POSIX.xs vms/vms.c vms/vmsish.h vms/writemain.pl
+____________________________________________________________________________
+[ 4018] By: bailey on 1999/08/23 03:01:31
+ Log: Allow for file versions in library when looking for .bs files
+ Branch: vmsperl
+ ! ext/DynaLoader/DynaLoader_pm.PL
+____________________________________________________________________________
+[ 4017] By: bailey on 1999/08/23 02:58:55
+ Log: Update VMS configuration procedures for 5.005_60
+ Branch: vmsperl
+ ! configure.com vms/subconfigure.com
+____________________________________________________________________________
+[ 4016] By: gsar on 1999/08/20 22:19:56
+ Log: update Changes
+ Branch: perl
+ ! Changes
+
+----------------
+Version 5.005_61
----------------
____________________________________________________________________________
# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Mon Aug 30 22:33:03 EET DST 1999 [metaconfig 3.0 PL70]
+# Generated on Wed Sep 22 00:13:58 EET DST 1999 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.com)
cat >/tmp/c1$$ <<EOF
uidtype=''
archname64=''
use64bits=''
+uselargefiles=''
uselongdouble=''
+usemorebits=''
usemultiplicity=''
nm_opt=''
nm_so_opt=''
al="$al M_COFF M_I186 M_I286 M_I386 M_I8086 M_I86 M_I86SM"
al="$al M_SYS3 M_SYS5 M_SYSIII M_SYSV M_UNIX M_XENIX"
al="$al NeXT OCS88 OSF1 PARISC PC532 PORTAR POSIX"
-al="$al PWB R3000 RES RISC6000 RT Sun386i SVR3 SVR4"
+al="$al PWB R3000 RES RISC6000 RT Sun386i SVR3 SVR4 SVR5"
al="$al SYSTYPE_BSD SYSTYPE_SVR4 SYSTYPE_SYSV Tek4132 Tek4300"
al="$al UMAXV USGr4 USGr4_2 UTEK UTS UTek UnicomPBB UnicomPBD Utek"
al="$al VMS Xenix286"
: produce awk script to parse command line options
cat >options.awk <<'EOF'
BEGIN {
- optstr = "dD:eEf:hKOrsSU:V"; # getopt-style specification
+ optstr = "A:dD:eEf:hKOrsSU:V"; # getopt-style specification
len = length(optstr);
for (i = 1; i <= len; i++) {
extractsh=''
override=''
knowitall=''
-rm -f optdef.sh
+rm -f optdef.sh posthint.sh
cat >optdef.sh <<EOS
$startsh
EOS
esac
shift
;;
+ -A)
+ shift
+ xxx=''
+ yyy="$1"
+ zzz=''
+ uuu=undef
+ case "$yyy" in
+ *=*) zzz=`echo $yyy|sed 's!=.*!!'`
+ case "$zzz" in
+ *:*) zzz='' ;;
+ *) xxx=append
+ zzz=" "`echo $yyy|sed 's!^[^=]*=!!'`
+ yyy=`echo $yyy|sed 's!=.*!!'` ;;
+ esac
+ ;;
+ esac
+ case "$xxx" in
+ '') case "$yyy" in
+ *:*) xxx=`echo $yyy|sed 's!:.*!!'`
+ yyy=`echo $yyy|sed 's!^[^:]*:!!'`
+ zzz=`echo $yyy|sed 's!^[^=]*=!!'`
+ yyy=`echo $yyy|sed 's!=.*!!'` ;;
+ *) xxx=`echo $yyy|sed 's!:.*!!'`
+ yyy=`echo $yyy|sed 's!^[^:]*:!!'` ;;
+ esac
+ ;;
+ esac
+ case "$xxx" in
+ append)
+ echo "$yyy=\"\${$yyy}$zzz\"" >> posthint.sh ;;
+ clear)
+ echo "$yyy=''" >> posthint.sh ;;
+ define)
+ case "$zzz" in
+ '') zzz=define ;;
+ esac
+ echo "$yyy='$zzz'" >> posthint.sh ;;
+ eval)
+ echo "eval \"$yyy=$zzz\"" >> posthint.sh ;;
+ prepend)
+ echo "$yyy=\"$zzz\${$yyy}\"" >> posthint.sh ;;
+ undef)
+ case "$zzz" in
+ '') zzz="$uuu" ;;
+ esac
+ echo "$yyy=$zzz" >> posthint.sh ;;
+ *) echo "$me: unknown -A command '$xxx', ignoring -A $1" >&2 ;;
+ esac
+ ;;
-V) echo "$me generated by metaconfig 3.0 PL70." >&2
- exit 0;;
+ exit 0;;
--) break;;
-*) echo "$me: unknown option $1" >&2; shift; error=true;;
*) break;;
true)
cat >&2 <<EOM
Usage: $me [-dehrsEKOSV] [-f config.sh] [-D symbol] [-D symbol=value]
- [-U symbol] [-U symbol=]
+ [-U symbol] [-U symbol=] [-A command:symbol...]
-d : use defaults for all answers.
-e : go on without questioning past the production of config.sh.
-f : specify an alternate default configuration file.
-U : undefine symbol:
-U symbol symbol gets the value 'undef'
-U symbol= symbol gets completely empty
+ -A : manipulate symbol after the platform specific hints have been applied:
+ -A symbol=value append " "value to symbol
+ -A append:symbol=value append value to symbol
+ -A define:symbol=value define symbol to have value
+ -A clear:symbol define symbol to be ''
+ -A define:symbol define symbol to be 'define'
+ -A eval:symbol=value define symbol to be eval of value
+ -A prepend:symbol=value prepend value to symbol
+ -A undef:symbol define symbol to be 'undef'
+ -A undef:symbol= define symbol to be ''
-V : print version number and exit (with a zero status).
EOM
exit 1
: run the defines and the undefines, if any, but leave the file out there...
touch optdef.sh
. ./optdef.sh
+: create the posthint manipulation script and leave the file out there...
+touch posthint.sh
: set package name
package=perl5
mips) osname=mips_osf1 ;;
esac
;;
- uts) osname=uts
+ unixware) osname=svr5
+ osvers="$4"
+ ;;
+ uts) osname=uts
osvers="$3"
;;
qnx) osname=qnx
*) osvers="$ans" ;;
esac
+
+. ./posthint.sh
+
: who configured the system
cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`
cf_by=`(logname) 2>/dev/null`
1*) cpp=`./loc gcc-cpp $cpp $pth` ;;
esac
+
+case "$usemorebits" in
+"$define"|true|[yY]*)
+ use64bits="$define"
+ uselongdouble="$define"
+ usemorebits="$define"
+ ;;
+*) usemorebits="$undef"
+ ;;
+esac
+
+
+cat <<EOM
+
+Perl can be built to understand large files (files larger than 2 gigabytes)
+on some systems. To do so, Configure must be run with -Duselargefiles.
+
+If this doesn't make any sense to you, just accept the default.
+EOM
+case "$uselargefiles" in
+"$define"|true|[yY]*) dflt='y' ;;
+*) dflt='n' ;;
+esac
+rp='Try to understand large files?'
+. ./myread
+case "$ans" in
+y|Y) val="$define" ;;
+*) val="$undef" ;;
+esac
+set uselargefiles
+eval $setvar
+case "$uselargefiles" in
+"$define") use64bits="$define" ;;
+esac
+
cat <<EOM
Perl can be built to take advantage of explicit 64-bit interfaces,
on some systems. To do so, Configure must be run with -Duse64bits.
-If this doesn't make any sense to you, just accept the default 'n'.
+If this doesn't make any sense to you, just accept the default.
EOM
case "$use64bits" in
$define|true|[yY]*) dflt='y';;
case "$gccversion" in
1*) ;;
2.[0-8]*) ;;
- *) echo " "
+ ?*) echo " "
echo "Checking if your compiler accepts -fno-strict-aliasing" 2>&1
echo 'int main(void) { return 0; }' > gcctest.c
if $cc -O2 -fno-strict-aliasing -o gcctest gcctest.c; then
eval $inlibc
: see if POSIX threads are available
-if test "X$usethreads" = "X$define"; then
- set pthread.h i_pthread
- eval $inhdr
-else
- i_pthread="$undef"
-fi
+set pthread.h i_pthread
+eval $inhdr
+
int main()
{
struct sigaction act, oact;
+ act.sa_flags = 0;
+ oact.sa_handler = 0;
}
EOP
set try
uniq='$uniq'
use64bits='$use64bits'
usedl='$usedl'
+uselargefiles='$uselargefiles'
uselongdouble='$uselongdouble'
+usemorebits='$usemorebits'
usemultiplicity='$usemultiplicity'
usemymalloc='$usemymalloc'
usenm='$usenm'
changes, see the Changes file.
IMPORTANT NOTE: 5.005_53 and later releases do not export unadorned
-global symbols anymore. This means most CPAN modules probably won't
-build under this release without adding '-DPERL_POLLUTE' to ccflags
-in config.sh. This is not the default because we want the modules
-to get fixed *before* the 5.6 release. pod/perldelta.pod contains
-additional notes about this.
+global symbols anymore. This means you may need to build older
+extensions that have not been updated for the new naming convention
+with:
+
+ perl Makefile.PL POLLUTE=1
+
+Alternatively, you can enable CPP symbol pollution wholesale by
+building perl itself with:
+
+ sh Configure -Accflags=-DPERL_POLLUTE
+
+pod/perldelta.pod contains more details about this.
=head1 DESCRIPTION
there is a README file for your platform, then you should read
that too. Additional information is in the Porting/ directory.
-=head1 WARNING: This version is not binary compatible with Perl 5.005.
+=head1 WARNING: This version may not be binary compatible with Perl 5.005.
+
+Using the default Configure options for building perl should get you
+a perl that will be binary compatible with the 5.005 release.
+
+However, if you run Configure with any custom options, such as
+-Dusethreads, -Dusemultiplicity, -Dusemymalloc, -Ubincompat5005 etc.,
+the resulting perl will not be binary compatible. Under these
+circumstances, if you have dynamically loaded extensions that were
+built under perl 5.005, you will need to rebuild and reinstall all
+those extensions to use them with 5.6.
-If you have dynamically loaded extensions that you built under perl
-5.005, you will need to rebuild and reinstall those extensions to use
-them with 5.6. Pure perl modules should continue to work just fine
-without reinstallation. See the discussions below on L<"Coexistence
-with earlier versions of perl5"> and L<"Upgrading from 5.005 to
-5.6"> for more details.
+Pure perl modules without XS or C code should continue to work fine
+without reinstallation. See the discussions below on
+L<"Coexistence with earlier versions of perl5"> and
+L<"Upgrading from 5.005 to 5.6"> for more details.
The standard extensions supplied with Perl will be handled automatically.
-In a related issue, old modules may possibly be affected by the
+On a related issue, old modules may possibly be affected by the
changes in the Perl language in the current release. Please see
pod/perldelta.pod (and pod/perl500Xdelta.pod) for a description of
what's changed. See also your installed copy of the perllocal.pod
After it runs, Configure will perform variable substitution on all the
*.SH files and offer to run make depend.
+=head2 Altering config.sh variables for C compiler switches etc.
+
+For most users, all of the Configure defaults are fine. Configure
+also has several convenient options which are all described below.
+However, if Configure doesn't have an option to do what you want,
+you can change Configure variables after the platform hints have been
+run, by using Configure's -A switch. For example, here's how to add
+a couple of extra flags to C compiler invocations:
+
+ sh Configure -Accflags="-DPERL_Y2KWARN -DPERL_POLLUTE_MALLOC"
+
+For more help on Configure switches, run:
+
+ sh Configure -h
+
=head2 Common Configure options
Configure supports a number of useful options. Run B<Configure -h> to
=item -DPERL_POLLUTE_MALLOC
+NOTE: This flag is enabled automatically on some platforms if you
+asked for binary compatibility with version 5.005, or if you just
+run Configure to accept all the defaults on those platforms. You
+can refuse the automatic binary compatibility flags wholesale by
+running:
+
+ sh Configure -Ubincompat5005
+
+or by answering 'n' at the appropriate prompt.
+
Perl's malloc family of functions are called Perl_malloc(),
-Perl_realloc(), Perl_calloc() and Perl_mfree(). The names do not clash
-with the system versions of these functions.
+Perl_realloc(), Perl_calloc() and Perl_mfree(). When this flag is
+not enabled, the names do not clash with the system versions of
+these functions.
-If you add -DPERL_POLLUTE_MALLOC to your ccflags variable in
-config.sh, then Perl's malloc family of functions will have the same
+If enabled, Perl's malloc family of functions will have the same
names as the system versions. This may be sometimes required when you
have libraries that like to free() data that may have been allocated
by Perl_malloc() and vice versa.
If you are using a shared libperl, see the warnings about multiple
versions of perl under L<Building a shared libperl.so Perl library>.
-=head2 Other Compiler Flags
-
-For most users, all of the Configure defaults are fine. However, you
-can change a number of factors in the way perl is built by adding
-appropriate -D directives to your ccflags variable in config.sh.
-
-You should also run Configure interactively to verify that a hint file
-doesn't inadvertently override your ccflags setting. (Hints files
-shouldn't do that, but some might.)
-
=head2 Extensions
By default, Configure will offer to build every extension which appears
=item CRIPPLED_CC
-If you still can't compile successfully, try adding a -DCRIPPLED_CC
-flag. (Just because you get no errors doesn't mean it compiled right!)
-This simplifies some complicated expressions for compilers that get
-indigestion easily.
+If you still can't compile successfully, try:
+
+ sh Configure -Accflags=-DCRIPPLED_CC
+
+This flag simplifies some complicated expressions for compilers that get
+indigestion easily. (Just because you get no errors doesn't mean it
+compiled right!)
=item Missing functions
Porting/patchls Flexible patch file listing utility
Porting/pumpkin.pod Guidelines and hints for Perl maintainers
README The Instructions
+README.Y2K Notes about Year 2000 concerns
README.amiga Notes about AmigaOS port
README.apollo Notes about Apollo DomainOS port
README.beos Notes about BeOS port
ext/B/README Compiler backend README
ext/B/TESTS Compiler backend test data
ext/B/Todo Compiler backend Todo list
-ext/B/defsubs.h.PL Generator for constant subroutines
+ext/B/defsubs_h.PL Generator for constant subroutines
ext/B/ramblings/cc.notes Compiler ramblings: notes on CC backend
ext/B/ramblings/curcop.runtime Compiler ramblings: notes on curcop use
ext/B/ramblings/flip-flop Compiler ramblings: notes on flip-flop
ext/DB_File/dbinfo Berkeley DB database version checker
ext/DB_File/hints/dynixptx.pl Hint for DB_File for named architecture
ext/DB_File/typemap Berkeley DB extension interface types
+ext/DB_File/version.c Berkeley DB extension interface version check
ext/Data/Dumper/Changes Data pretty printer, changelog
ext/Data/Dumper/Dumper.pm Data pretty printer, module
ext/Data/Dumper/Dumper.xs Data pretty printer, externals
hints/sunos_4_0.sh Hints for named architecture
hints/sunos_4_1.sh Hints for named architecture
hints/svr4.sh Hints for named architecture
+hints/svr5.sh Hints for named architecture
hints/ti1500.sh Hints for named architecture
hints/titanos.sh Hints for named architecture
hints/ultrix_4.sh Hints for named architecture
intrpvar.h Variables held in each interpreter instance
iperlsys.h Perl's interface to the system
jpl/JNI/Changes Java Native Interface changes
+jpl/JNI/Closer.java Java Native Interface example
jpl/JNI/JNI.pm Java Native Interface module
-jpl/JNI/JNI.xs Java Native Interface external subroutines
+jpl/JNI/JNI.pm Java Native Interface module
+jpl/JNI/JNIConfig Java Native Interface config
+jpl/JNI/JNIConfig.Win32 Java Native Interface config
+jpl/JNI/JNIConfig.kaffe Java Native Interface config
+jpl/JNI/JNIConfig.noembed Java Native Interface config
+jpl/JNI/JNIConfig.standard Java Native Interface config
jpl/JNI/Makefile.PL Java Native Interface makefile generator
jpl/JNI/test.pl Java Native Interface tests
jpl/JNI/typemap Java/Perl interface typemap
+jpl/JNI/typemap.gcc Java/Perl interface typemap
+jpl/JNI/typemap.win32 Java/Perl interface typemap
jpl/JPL/AutoLoader.pm Java/Perl compiler module
jpl/JPL/Class.pm Java/Perl compiler module
jpl/JPL/Compile.pm Java/Perl compiler module
jpl/PerlInterpreter/PerlInterpreter.h Perl interpreter abstraction
jpl/PerlInterpreter/PerlInterpreter.java Perl interpreter abstraction
jpl/README JPL instructions
+jpl/SETVARS.PL JPL setup
jpl/Sample/Makefile.PL JPL sample makefile generator
jpl/Sample/Sample.jpl JPL sample
jpl/Test/Makefile.PL JPL tests makefile generator
lib/unicode/To/Title.pl Unicode character database
lib/unicode/To/Upper.pl Unicode character database
lib/unicode/UnicodeData-Latest.txt Unicode character database
-lib/unicode/arabshp.txt Unicode character database
-lib/unicode/blocks.txt Unicode character database
-lib/unicode/index2.txt Unicode character database
-lib/unicode/jamo2.txt Unicode character database
+lib/unicode/ArabShap.txt Unicode character database
+lib/unicode/Blocks.txt Unicode character database
+lib/unicode/CompExcl.txt Unicode character database
+lib/unicode/EAWidth.txt Unicode character database
+lib/unicode/Index.txt Unicode character database
+lib/unicode/Jamo-2.txt Unicode character database
+lib/unicode/LineBrk.txt Unicode character database
lib/unicode/mktables.PL Unicode character database generator
-lib/unicode/names2.txt Unicode character database
-lib/unicode/props2.txt Unicode character database
-lib/unicode/readme.txt Unicode character database info
+lib/unicode/Names.txt Unicode character database
+lib/unicode/Props.txt Unicode character database
+lib/unicode/ReadMe.txt Unicode character database info
+lib/unicode/SpecCase.txt Unicode character database
lib/unicode/syllables.txt Unicode character database
+lib/unicode/Unicode.html Unicode character database
lib/utf8.pm Pragma to control Unicode support
lib/utf8_heavy.pl Support routines for utf8 pragma
lib/validate.pl Perl library supporting wholesale file mode validation
pod/perlbook.pod Book info
pod/perlbot.pod Object-oriented Bag o' Tricks
pod/perlcall.pod Callback info
+pod/perlcompile.pod Info on using the Compiler suite
pod/perldata.pod Data structure info
pod/perldbmfilter.pod Info about DBM Filters
pod/perldebug.pod Debugger info
t/lib/autoloader.t See if AutoLoader works
t/lib/basename.t See if File::Basename works
t/lib/bigfloat.t See if bigfloat.pl works
-t/lib/bigfloatpm.t See if BigFloat.pm works
+t/lib/bigfltpm.t See if BigFloat.pm works
t/lib/bigint.t See if bigint.pl works
t/lib/bigintpm.t See if BigInt.pm works
t/lib/cgi-form.t See if CGI.pm works
t/lib/filespec.t See if File::Spec works
t/lib/findbin.t See if FindBin works
t/lib/gdbm.t See if GDBM_File works
-t/lib/getopt.t See if Getopt::Std and Getopt::Long works
+t/lib/getopt.t See if Getopt::Std and Getopt::Long work
+t/lib/gol-basic.t See if Getopt::Long works
+t/lib/gol-compat.t See if Getopt::Long works
+t/lib/gol-linkage.t See if Getopt::Long works
t/lib/h2ph.h Test header file for h2ph
t/lib/h2ph.pht Generated output from h2ph.h by h2ph, for comparison
t/lib/h2ph.t See if h2ph works like it should
t/lib/trig.t See if Math::Trig works
t/op/64bit.t See if 64 bitness works
t/op/append.t See if . works
+t/op/args.t See if operations on @_ work
t/op/arith.t See if arithmetic works
t/op/array.t See if array operations work
t/op/assignwarn.t See if OP= operators warn correctly for undef targets
t/pragma/strict-vars Tests of "use strict 'vars'" for strict.t
t/pragma/strict.t See if strictures work
t/pragma/subs.t See if subroutine pseudo-importation works
+t/pragma/sub_lval.t See if lvalue subroutines work
t/pragma/utf8.t See if utf8 operations work
t/pragma/warn/1global Tests of global warnings for warnings.t
t/pragma/warn/2use Tests for "use warnings" for warnings.t
-@for x in $(DYNALOADER) $(dynamic_ext) $(static_ext) $(nonxs_ext) ; do \
$(LDLIBPTH) sh ext/util/make_ext realclean $$x MAKE=$(MAKE) ; \
done
- rm -f *.orig */*.orig *~ */*~ core core.*perl.*.? *perl.core t/core t/core.perl.*.? t/*perl.core t/misctmp* t/tmp* t/Io.dup t/tmon.out t/big t/c t/perl t/nonexistent1 so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR)
+ rm -f *.orig */*.orig *~ */*~ core core.*perl.*.? *perl.core t/core t/core.perl.*.? t/*perl.core t/misctmp* t/tmp* t/c t/perl so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR)
rm -rf $(addedbyconf)
rm -f $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old
rm -f $(private)
whether a C program should include <poll.h>.
i_pthread (i_pthread.U):
- This variable conditionally defines the I_PTHREADEAD symbol,
+ This variable conditionally defines the I_PTHREAD symbol,
and indicates whether a C program should include <pthread.h>.
i_pwd (i_pwd.U):
This variable indicates if the the system supports dynamic
loading of some sort. See also dlsrc and dlobj.
+uselfs (uselfs.U):
+ This variable conditionally defines the USE_LARGE_FILES symbol,
+ and indicates that large file interfaces should be used when
+ available. The use64bits symbol will also be turned on if necessary.
+
uselongdouble (uselongdbl.U):
This variable conditionally defines the USE_LONG_DOUBLE symbol,
and indicates that long doubles should be used when available.
+usemorebits (usemorebits.U):
+ This variable conditionally defines the USE_MORE_BITS symbol,
+ and indicates that explicit 64-bit interfaces and long doubles
+ should be used when available.
+
usemultiplicity (usemultiplicity.U):
This variable conditionally defines the MULTIPLICITY symbol,
and indicates that Perl should be built to use multiplicity.
# Package name : perl5
# Source directory : .
-# Configuration time: Mon Aug 16 22:37:31 EET DST 1999
+# Configuration time: Mon Sep 20 12:44:36 EET DST 1999
# Configured by : jhi
# Target system : osf1 alpha.hut.fi v4.0 878 alpha
alignbytes='8'
ansi2knr=''
aphostname=''
-apiversion='5.00560'
+apiversion='5.00561'
ar='ar'
-archlib='/opt/perl/lib/5.00560/alpha-dec_osf-thread'
-archlibexp='/opt/perl/lib/5.00560/alpha-dec_osf-thread'
+archlib='/opt/perl/lib/5.00561/alpha-dec_osf-thread'
+archlibexp='/opt/perl/lib/5.00561/alpha-dec_osf-thread'
archname64=''
archname='alpha-dec_osf-thread'
archobjs=''
cat='cat'
cc='cc'
cccdlflags=' '
-ccdlflags=' -Wl,-rpath,/opt/perl/lib/5.00560/alpha-dec_osf-thread/CORE'
+ccdlflags=' -Wl,-rpath,/opt/perl/lib/5.00561/alpha-dec_osf-thread/CORE'
ccflags='-pthread -std -DLANGUAGE_C'
ccsymbols='__LANGUAGE_C__=1 _LONGLONG=1 LANGUAGE_C=1 SYSTYPE_BSD=1'
cf_by='jhi'
cf_email='yourname@yourhost.yourplace.com'
-cf_time='Mon Aug 16 22:37:31 EET DST 1999'
+cf_time='Mon Sep 20 12:44:36 EET DST 1999'
chgrp=''
chmod=''
chown=''
ignore_versioned_solibs=''
incpath=''
inews=''
-installarchlib='/opt/perl/lib/5.00560/alpha-dec_osf-thread'
+installarchlib='/opt/perl/lib/5.00561/alpha-dec_osf-thread'
installbin='/opt/perl/bin'
installman1dir='/opt/perl/man/man1'
installman3dir='/opt/perl/man/man3'
installprefix='/opt/perl'
installprefixexp='/opt/perl'
-installprivlib='/opt/perl/lib/5.00560'
+installprivlib='/opt/perl/lib/5.00561'
installscript='/opt/perl/bin'
-installsitearch='/opt/perl/lib/site_perl/5.00560/alpha-dec_osf-thread'
+installsitearch='/opt/perl/lib/site_perl/5.00561/alpha-dec_osf-thread'
installsitelib='/opt/perl/lib/site_perl'
installstyle='lib'
installusrbinperl='define'
pr=''
prefix='/opt/perl'
prefixexp='/opt/perl'
-privlib='/opt/perl/lib/5.00560'
-privlibexp='/opt/perl/lib/5.00560'
+privlib='/opt/perl/lib/5.00561'
+privlibexp='/opt/perl/lib/5.00561'
prototype='define'
ptrsize='8'
randbits='48'
sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 6 6 16 20 23 23 23 29 48 '
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 6, 6, 16, 20, 23, 23, 23, 29, 48, 0'
signal_t='void'
-sitearch='/opt/perl/lib/site_perl/5.00560/alpha-dec_osf-thread'
-sitearchexp='/opt/perl/lib/site_perl/5.00560/alpha-dec_osf-thread'
+sitearch='/opt/perl/lib/site_perl/5.00561/alpha-dec_osf-thread'
+sitearchexp='/opt/perl/lib/site_perl/5.00561/alpha-dec_osf-thread'
sitelib='/opt/perl/lib/site_perl'
sitelibexp='/opt/perl/lib/site_perl'
siteprefix='/opt/perl'
stdio_stream_array='_iob'
strings='/usr/include/string.h'
submit=''
-subversion='60'
+subversion='61'
sysman='/usr/man/man1'
tail=''
tar=''
uniq='uniq'
use64bits='define'
usedl='define'
+uselfs='define'
uselongdouble='undef'
+usemorebits='undef'
usemultiplicity='undef'
usemymalloc='n'
usenm='true'
vendorlibexp=''
vendorprefix=''
vendorprefixexp=''
-version='5.00560'
+version='5.00561'
vi=''
voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
zip='zip'
# Configure command line arguments.
config_arg0='Configure'
-config_args='-Dprefix=/opt/perl -Doptimize=-O -Dusethreads -Duse64bits -Dcf_by=yourname -Dcf_email=yourname@yourhost.yourplace.com -Dperladmin=yourname@yourhost.yourplace.com -Dmydomain=.yourplace.com -Dmyhostname=yourhost -dE'
-config_argc=10
+config_args='-Dprefix=/opt/perl -Doptimize=-O -Dusethreads -Duse64bits -Duselfs -Dcf_by=yourname -Dcf_email=yourname@yourhost.yourplace.com -Dperladmin=yourname@yourhost.yourplace.com -Dmydomain=.yourplace.com -Dmyhostname=yourhost -dE'
+config_argc=11
config_arg1='-Dprefix=/opt/perl'
config_arg2='-Doptimize=-O'
config_arg3='-Dusethreads'
config_arg4='-Duse64bits'
-config_arg5='-Dcf_by=yourname'
-config_arg6='-Dcf_email=yourname@yourhost.yourplace.com'
-config_arg7='-Dperladmin=yourname@yourhost.yourplace.com'
-config_arg8='-Dmydomain=.yourplace.com'
-config_arg9='-Dmyhostname=yourhost'
-config_arg10='-dE'
+config_arg5='-Duselfs'
+config_arg6='-Dcf_by=yourname'
+config_arg7='-Dcf_email=yourname@yourhost.yourplace.com'
+config_arg8='-Dperladmin=yourname@yourhost.yourplace.com'
+config_arg9='-Dmydomain=.yourplace.com'
+config_arg10='-Dmyhostname=yourhost'
+config_arg11='-dE'
PERL_REVISION=5
PERL_VERSION=5
-PERL_SUBVERSION=60
+PERL_SUBVERSION=61
CONFIGDOTSH=true
# Variables propagated from previous config.sh file.
pp_sys_cflags='ccflags="$ccflags -DNO_EFF_ONLY_OK"'
/*
* Package name : perl5
* Source directory : .
- * Configuration time: Mon Aug 16 22:37:31 EET DST 1999
+ * Configuration time: Mon Sep 20 12:44:36 EET DST 1999
* Configured by : jhi
* Target system : osf1 alpha.hut.fi v4.0 878 alpha
*/
* This symbol contains the ~name expanded version of ARCHLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define ARCHLIB "/opt/perl/lib/5.00560/alpha-dec_osf-thread" /**/
-#define ARCHLIB_EXP "/opt/perl/lib/5.00560/alpha-dec_osf-thread" /**/
+#define ARCHLIB "/opt/perl/lib/5.00561/alpha-dec_osf-thread" /**/
+#define ARCHLIB_EXP "/opt/perl/lib/5.00561/alpha-dec_osf-thread" /**/
/* BIN:
* This symbol holds the path of the bin directory where the package will
* This symbol contains the ~name expanded version of PRIVLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define PRIVLIB "/opt/perl/lib/5.00560" /**/
-#define PRIVLIB_EXP "/opt/perl/lib/5.00560" /**/
+#define PRIVLIB "/opt/perl/lib/5.00561" /**/
+#define PRIVLIB_EXP "/opt/perl/lib/5.00561" /**/
/* SITEARCH:
* This symbol contains the name of the private library for this package.
* This symbol contains the ~name expanded version of SITEARCH, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define SITEARCH "/opt/perl/lib/site_perl/5.00560/alpha-dec_osf-thread" /**/
-#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.00560/alpha-dec_osf-thread" /**/
+#define SITEARCH "/opt/perl/lib/site_perl/5.00561/alpha-dec_osf-thread" /**/
+#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.00561/alpha-dec_osf-thread" /**/
/* SITELIB:
* This symbol contains the name of the private library for this package.
* available directly to the user. Note that it may well be different from
* the preprocessor used to compile the C program.
*/
+/* CPPLAST:
+ * This symbol is intended to be used along with CPPRUN in the same manner
+ * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
+ */
#define CPPSTDIN "cppstdin"
#define CPPMINUS ""
#define CPPRUN "/usr/bin/cpp"
+#define CPPLAST ""
/* HAS_ACCESS:
* This manifest constant lets the C program know that the access()
* so that it is safe even if used by a process with super-user
* privileges.
*/
+/* HAS_PHOSTNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * contents of PHOSTNAME as a command to feed to the popen() routine
+ * to derive the host name.
+ */
#define HAS_GETHOSTNAME /**/
#define HAS_UNAME /**/
#undef HAS_PHOSTNAME
* This symbol, if defined, indicates that <sys/uio.h> exists and
* should be included.
*/
+/* HAS_STRUCT_IOVEC:
+ * This symbol, if defined, indicates that the struct iovec
+ * to do scatter writes/gather reads is supported.
+ */
#define I_SYSUIO /**/
+#define HAS_STRUCT_IOVEC /**/
/* Free_t:
* This variable contains the return type of free(). It is usually
*/
#define USE_64_BITS /**/
+/* USE_LARGE_FILES:
+ * This symbol, if defined, indicates that large file support
+ * should be used when available. The USE_64_BITS symbol will
+ * also be turned on if necessary.
+ */
+#define USE_LARGE_FILES /**/
+
/* USE_LONG_DOUBLE:
* This symbol, if defined, indicates that long doubles should
* be used when available.
*/
/*#define I_MACH_CTHREADS / **/
+/* I_PTHREAD:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <pthread.h>.
+ */
+#define I_PTHREAD /**/
+
/* USE_THREADS:
* This symbol, if defined, indicates that Perl should
* be built to use threads.
--- /dev/null
+The following information about Perl and the year 2000 is a modified
+version of the information that can be found in the Frequently Asked
+Question (FAQ) documents.
+
+Does Perl have a year 2000 problem? Is Perl Y2K compliant?
+
+Short answer: No, Perl does not have a year 2000 problem. Yes,
+ Perl is Y2K compliant (whatever that means). The
+ programmers you've hired to use it, however, probably are
+ not. If you want perl to complain when your programmers
+ create programs with certain types of possible year 2000
+ problems, a build option allows you to turn on warnings.
+
+Long answer: The question belies a true understanding of the
+ issue. Perl is just as Y2K compliant as your pencil
+ --no more, and no less. Can you use your pencil to write
+ a non-Y2K-compliant memo? Of course you can. Is that
+ the pencil's fault? Of course it isn't.
+
+ The date and time functions supplied with perl (gmtime and
+ localtime) supply adequate information to determine the
+ year well beyond 2000 (2038 is when trouble strikes for
+ 32-bit machines). The year returned by these functions
+ when used in an array context is the year minus 1900. For
+ years between 1910 and 1999 this happens to be a 2-digit
+ decimal number. To avoid the year 2000 problem simply do
+ not treat the year as a 2-digit number. It isn't.
+
+ When gmtime() and localtime() are used in scalar context
+ they return a timestamp string that contains a fully-
+ expanded year. For example, $timestamp =
+ gmtime(1005613200) sets $timestamp to "Tue Nov 13 01:00:00
+ 2001". There's no year 2000 problem here.
+
+ That doesn't mean that Perl can't be used to create non-
+ Y2K compliant programs. It can. But so can your pencil.
+ It's the fault of the user, not the language. At the risk
+ of inflaming the NRA: ``Perl doesn't break Y2K, people
+ do.'' See http://language.perl.com/news/y2k.html for a
+ longer exposition.
+
+ If you want perl to warn you when it sees a program which
+ catenates a number with the string "19" -- a common
+ indication of a year 2000 problem -- build perl using the
+ Configure option "-Accflags=-DPERL_Y2KWARN".
+ (See the file INSTALL for more information about building
+ perl.)
=head1 AUTHOR
-Laszlo Molnar, F<molnarl@cdata.tvnet.hu>
+Laszlo Molnar, F<laszlo.molnar@eth.ericsson.se>
=head1 SEE ALSO
+#ifndef _INC_PERL_XSUB_H
+#define _INC_PERL_XSUB_H 1
+
#define ST(off) PL_stack_base[ax + (off)]
#if defined(CYGWIN) && defined(USE_DYNAMIC_LOADING)
I32 ax = mark - PL_stack_base + 1; \
I32 items = sp - mark
+#define dXSTARG SV * targ = ((PL_op->op_private & OPpENTERSUB_HASTARG) \
+ ? PAD_SV(PL_op->op_targ) : sv_newmortal())
+
#define XSANY CvXSUBANY(cv)
#define dXSI32 I32 ix = XSANY.any_i32
# define socketpair PerlSock_socketpair
# endif /* NO_XSLOCKS */
#endif /* PERL_CAPI */
+
+#endif _INC_PERL_XSUB_H /* include guard */
U8 xav_flags;
};
+
+/* AVf_REAL is set for all AVs whose xav_array contents are refcounted.
+ * Some things like "@_" and the scratchpad list do not set this, to
+ * indicate that they are cheating (for efficiency) by not refcounting
+ * the AV's contents.
+ *
+ * AVf_REIFY is only meaningful on such "fake" AVs (i.e. where AVf_REAL
+ * is not set). It indicates that the fake AV is capable of becoming
+ * real if the array needs to be modified in some way. Functions that
+ * modify fake AVs check both flags to call av_reify() as appropriate.
+ *
+ * Note that the Perl stack has neither flag set. (Thus, items that go
+ * on the stack are never refcounted.)
+ *
+ * These internal details are subject to change any time. AV
+ * manipulations external to perl should not care about any of this.
+ * GSAR 1999-09-10
+ */
#define AVf_REAL 1 /* free old entries */
#define AVf_REIFY 2 /* can become real */
+
+/* XXX this is not used anywhere */
#define AVf_REUSED 4 /* got undeffed--don't turn old memory into SVs now */
#define Nullav Null(AV*)
printf BYTERUN_H " OPt_%s\t\t/* %d */\n};\n\n", $optype[$i], $i;
print BYTERUN_H <<'EOT';
-EXT void byterun(pTHXo_ struct bytestream bs);
+extern void byterun(pTHXo_ struct bytestream bs);
#define INIT_SPECIALSV_LIST STMT_START { \
EOT
* available directly to the user. Note that it may well be different from
* the preprocessor used to compile the C program.
*/
+/* CPPLAST:
+ * This symbol is intended to be used along with CPPRUN in the same manner
+ * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
+ */
#define CPPSTDIN "$cppstdin"
#define CPPMINUS "$cppminus"
#define CPPRUN "$cpprun"
+#define CPPLAST "$cpplast"
/* HAS_ACCESS:
* This manifest constant lets the C program know that the access()
* so that it is safe even if used by a process with super-user
* privileges.
*/
+/* HAS_PHOSTNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * contents of PHOSTNAME as a command to feed to the popen() routine
+ * to derive the host name.
+ */
#$d_gethname HAS_GETHOSTNAME /**/
#$d_uname HAS_UNAME /**/
#$d_phostname HAS_PHOSTNAME
* This symbol, if defined, indicates that <sys/uio.h> exists and
* should be included.
*/
+/* HAS_STRUCT_IOVEC:
+ * This symbol, if defined, indicates that the struct iovec
+ * to do scatter writes/gather reads is supported.
+ */
#$i_sysuio I_SYSUIO /**/
+#$d_iovec_s HAS_STRUCT_IOVEC /**/
/* Free_t:
* This variable contains the return type of free(). It is usually
*/
#$use64bits USE_64_BITS /**/
+/* USE_LARGE_FILES:
+ * This symbol, if defined, indicates that large file support
+ * should be used when available. The USE_64_BITS symbol will
+ * also be turned on if necessary.
+ */
+#$uselargefiles USE_LARGE_FILES /**/
+
/* USE_LONG_DOUBLE:
* This symbol, if defined, indicates that long doubles should
* be used when available.
*/
#$i_machcthr I_MACH_CTHREADS /**/
+/* I_PTHREAD:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <pthread.h>.
+ */
+#$i_pthread I_PTHREAD /**/
+
/* USE_THREADS:
* This symbol, if defined, indicates that Perl should
* be built to use threads.
AV * argarray;
U16 olddepth;
U8 hasargs;
+ U8 lval; /* XXX merge lval and hasargs? */
};
#define PUSHSUB(cx) \
cx->blk_sub.cv = cv; \
cx->blk_sub.olddepth = CvDEPTH(cv); \
- cx->blk_sub.hasargs = hasargs;
+ cx->blk_sub.hasargs = hasargs; \
+ cx->blk_sub.lval = PL_op->op_private & \
+ (OPpLVAL_INTRO|OPpENTERSUB_INARGS);
#define PUSHFORMAT(cx) \
cx->blk_sub.cv = cv; \
#define POPSAVEARRAY() \
STMT_START { \
SvREFCNT_dec(GvAV(PL_defgv)); \
- GvAV(PL_defgv) = cxsub.savearray; \
+ GvAV(PL_defgv) = cxsub.savearray; \
} STMT_END
#endif /* USE_THREADS */
#define POPSUB2() \
if (cxsub.hasargs) { \
POPSAVEARRAY(); \
- /* destroy arg array */ \
- av_clear(cxsub.argarray); \
- AvREAL_off(cxsub.argarray); \
+ /* abandon @_ if it got reified */ \
+ if (AvREAL(cxsub.argarray)) { \
+ SSize_t fill = AvFILLp(cxsub.argarray); \
+ SvREFCNT_dec(cxsub.argarray); \
+ cxsub.argarray = newAV(); \
+ av_extend(cxsub.argarray, fill); \
+ AvFLAGS(cxsub.argarray) = AVf_REIFY; \
+ PL_curpad[0] = (SV*)cxsub.argarray; \
+ } \
} \
if (cxsub.cv) { \
if (!(CvDEPTH(cxsub.cv) = cxsub.olddepth)) \
(esp. useful for special XSUBs) */
#define CVf_METHOD 0x0040 /* CV is explicitly marked as a method */
#define CVf_LOCKED 0x0080 /* CV locks itself or first arg on entry */
+#define CVf_LVALUE 0x0100 /* CV return value can be used as lvalue */
#define CvCLONE(cv) (CvFLAGS(cv) & CVf_CLONE)
#define CvCLONE_on(cv) (CvFLAGS(cv) |= CVf_CLONE)
#define CvLOCKED_on(cv) (CvFLAGS(cv) |= CVf_LOCKED)
#define CvLOCKED_off(cv) (CvFLAGS(cv) &= ~CVf_LOCKED)
+#define CvLVALUE(cv) (CvFLAGS(cv) & CVf_LVALUE)
+#define CvLVALUE_on(cv) (CvFLAGS(cv) |= CVf_LVALUE)
+#define CvLVALUE_off(cv) (CvFLAGS(cv) &= ~CVf_LVALUE)
+
#define CvEVAL(cv) (CvUNIQUE(cv) && !SvFAKE(cv))
#define CvEVAL_on(cv) (CvUNIQUE_on(cv),SvFAKE_off(cv))
#define CvEVAL_off(cv) CvUNIQUE_off(cv)
-e 's/posix/POSIX/'\
-e 's/sdbm_fil/SDBM_File/'\
-e 's/socket/Socket/'\
- -e 's/thread/Thread/'
+ -e 's/thread/Thread/'\
+ -e 's/byteload/ByteLoader/'\
+ -e 's=devel/peek=Devel/Peek='\
+ -e 's=devel/dprof=Devel/DProf='
}
static_ext=$(repair "$static_ext")
extensions=$(repair "$extensions")
sh -c 'if test ! -d /tmp; then mkdir /tmp; fi'
cp djgpp.c config.over ..
cd ..
+mv ext/B/defsu* ext/B/defsubsh.PL
echo Running sed...
sh djgpp/djgppsed.sh
Perl_warner(aTHX_ WARN_EXEC,"Can't %s \"%s\": %s",
fl ? "exec" : "spawn",prog,Strerror (errno));
if (rc > 0)
- return rc <<= 8;
+ return rc << 8;
if (rc < 0)
return 255 << 8;
return 0;
int fd;
char *matches;
size_t size;
+ fpos_t pos;
};
#define MAXOPENGLOBS 10
if ((gi=searchfd (-1)) == NULL)
break;
+ gi->pos=0;
pattern=alloca (strlen (name+=13)+1);
strcpy (pattern,name);
if (!_USE_LFN)
if ((gi=searchfd (fd))==NULL)
break;
- ic=tell (fd);
- if (siz+ic>=gi->size)
- siz=gi->size-ic;
- memcpy (buf,ic+gi->matches,siz);
- lseek (fd,siz,1);
+ if (siz+gi->pos > gi->size)
+ siz = gi->size - gi->pos;
+ memcpy (buf,gi->pos+gi->matches,siz);
+ gi->pos += siz;
*rv=siz;
return 1;
}
SHSED='s=\.\(hsed\)=_\1=g'
SDEPTMP='s=\.\(deptmp\)=_\1=g'
SCPP='s=\.\(cpp\.\)=_\1=g'
-SARGV='s=\.\(argv\.\)=_\1=g'
+SARGV='s=\.\(argv\)\.=_\1_=g'
SABC='s=\.\([abc][^a]\)=_\1=g'
SDBMX='s=\.\(dbmx\)=_\1=g'
SDBHASH='s=dbhash\.tmp=dbhash_tmp=g'
SSTAT='s=\.\(stat\.\)=_\1=g'
STMP2='s=tmp2=tm2=g'
SPACKLIST='s=\.\(packlist\)=_\1=g'
+SDEFSUB='s=defsubs\.h=defsubsh=g'
+SPLPLI='s=PL/;=PL/i;=g'
sed -e $SCONFIG -e $SGREPTMP -e $SECHOTMP -e $SDDC -e $SOUT -e 's=\.\( \./\$file\)$=sh\1=g' Configure |tr -d '\r' >s; mv -f s Configure
sed -e $SEXISTS -e $SLIST -e $SCONFIG Makefile.SH |tr -d '\r' >s; mv -f s Makefile.SH
sed -e $SPACKLIST lib/ExtUtils/Packlist.pm >s; mv -f s lib/ExtUtils/Packlist.pm
sed -e $SPACKLIST lib/ExtUtils/inst >s; mv -f s lib/ExtUtils/inst
sed -e $SABC t/io/iprefix.t >s; mv -f s t/io/iprefix.t
+sed -e $SDEFSUB ext/B/Makefile.PL >s; mv -f s ext/B/Makefile.PL
+sed -e $SDEFSUB ext/B/B.xs >s; mv -f s ext/B/B.xs
+sed -e $SDEFSUB -e $SPLPLI ext/B/defsubsh.PL >s; mv -f s ext/B/defsubsh.PL
}
if (as_raw) {
-#if defined(USE_64_BIT_OFFSETS) && defined(O_LARGEFILE)
+#if defined(USE_64_BIT_RAWIO) && defined(O_LARGEFILE)
rawmode |= O_LARGEFILE;
#endif
else
{
IV i = SvIV(astr);
- a = (char *)i; /* ouch */
+ a = INT2PTR(char *,i); /* ouch */
}
SETERRNO(0,0);
switch (optype)
# define BIT_BUCKET "nul"
# define OP_BINARY O_BINARY
# define PERL_SYS_INIT(c,v) Perl_DJGPP_init(c,v)
+# define init_os_extras Perl_init_os_extras
# include <signal.h>
# define HAS_UTIME
# define HAS_KILL
else if (o->op_type == OP_FLOP) {
if (o->op_private & OPpFLIP_LINENUM)
sv_catpv(tmpsv, ",LINENUM");
+ } else if (o->op_type == OP_RV2CV) {
+ if (o->op_private & OPpLVAL_INTRO)
+ sv_catpv(tmpsv, ",INTRO");
}
if (o->op_flags & OPf_MOD && o->op_private & OPpLVAL_INTRO)
sv_catpv(tmpsv, ",INTRO");
#ifdef IV_IS_QUAD
Perl_sv_setpvf(aTHX_ d,
"(0x%" PERL_PRIx64") at 0x%" PERL_PRIx64 "\n%*s REFCNT = %" PERL_PRId64 "\n%*s FLAGS = (",
- (UV)SvANY(sv), (UV)sv,
+ PTR2UV(SvANY(sv)), PTR2UV(sv),
PL_dumpindent*level, "", (IV)SvREFCNT(sv),
PL_dumpindent*level, "");
#else
}
if (SvROK(sv)) {
#ifdef IV_IS_QUAD
- Perl_dump_indent(aTHX_ level, file, " RV = 0x%" PERL_PRIx64 "\n", (IV)SvRV(sv));
+ Perl_dump_indent(aTHX_ level, file, " RV = 0x%" PERL_PRIx64 "\n", PTR2IV(SvRV(sv)));
#else
Perl_dump_indent(aTHX_ level, file, " RV = 0x%lx\n", (long)SvRV(sv));
#endif
if (type <= SVt_PVLV) {
if (SvPVX(sv)) {
#ifdef IV_IS_QUAD
- Perl_dump_indent(aTHX_ level, file," PV = 0x%" PERL_PRIx64 " ", (IV)SvPVX(sv));
+ Perl_dump_indent(aTHX_ level, file," PV = 0x%" PERL_PRIx64 " ", PTR2IV(SvPVX(sv)));
#else
Perl_dump_indent(aTHX_ level, file," PV = 0x%lx ", (long)SvPVX(sv));
#endif
#ifdef IV_IS_QUAD
Perl_dump_indent(aTHX_ level, file, " TARGOFF = %" PERL_PRId64 "\n", (IV)LvTARGOFF(sv));
Perl_dump_indent(aTHX_ level, file, " TARGLEN = %" PERL_PRId64 "\n", (IV)LvTARGLEN(sv));
- Perl_dump_indent(aTHX_ level, file, " TARG = 0x%" PERL_PRIx64 "\n", (IV)LvTARG(sv));
+ Perl_dump_indent(aTHX_ level, file, " TARG = 0x%" PERL_PRIx64 "\n", PTR2IV(LvTARG(sv)));
#else
Perl_dump_indent(aTHX_ level, file, " TARGOFF = %ld\n", (long)LvTARGOFF(sv));
Perl_dump_indent(aTHX_ level, file, " TARGLEN = %ld\n", (long)LvTARGLEN(sv));
break;
case SVt_PVAV:
#ifdef IV_IS_QUAD
- Perl_dump_indent(aTHX_ level, file, " ARRAY = 0x%" PERL_PRIx64 , (IV)AvARRAY(sv));
+ Perl_dump_indent(aTHX_ level, file, " ARRAY = 0x%" PERL_PRIx64 , PTR2IV(AvARRAY(sv)));
#else
Perl_dump_indent(aTHX_ level, file, " ARRAY = 0x%lx", (long)AvARRAY(sv));
#endif
if (AvARRAY(sv) != AvALLOC(sv)) {
PerlIO_printf(file, " (offset=%d)\n", (AvARRAY(sv) - AvALLOC(sv)));
#ifdef IV_IS_QUAD
- Perl_dump_indent(aTHX_ level, file, " ALLOC = 0x%" PERL_PRIx64 "\n", (IV)AvALLOC(sv));
+ Perl_dump_indent(aTHX_ level, file, " ALLOC = 0x%" PERL_PRIx64 "\n", PTR2IV(AvALLOC(sv)));
#else
Perl_dump_indent(aTHX_ level, file, " ALLOC = 0x%lx\n", (long)AvALLOC(sv));
#endif
#ifdef IV_IS_QUAD
Perl_dump_indent(aTHX_ level, file, " FILL = %" PERL_PRId64 "\n", (IV)AvFILLp(sv));
Perl_dump_indent(aTHX_ level, file, " MAX = %" PERL_PRId64 "\n", (IV)AvMAX(sv));
- Perl_dump_indent(aTHX_ level, file, " ARYLEN = 0x%" PERL_PRIx64 "\n", (IV)AvARYLEN(sv));
+ Perl_dump_indent(aTHX_ level, file, " ARYLEN = 0x%" PERL_PRIx64 "\n", PTR2IV(AvARYLEN(sv)));
#else
Perl_dump_indent(aTHX_ level, file, " FILL = %ld\n", (long)AvFILLp(sv));
Perl_dump_indent(aTHX_ level, file, " MAX = %ld\n", (long)AvMAX(sv));
break;
case SVt_PVHV:
#ifdef IV_IS_QUAD
- Perl_dump_indent(aTHX_ level, file, " ARRAY = 0x%" PERL_PRIx64,(IV)HvARRAY(sv));
+ Perl_dump_indent(aTHX_ level, file, " ARRAY = 0x%" PERL_PRIx64,PTR2IV(HvARRAY(sv)));
#else
Perl_dump_indent(aTHX_ level, file, " ARRAY = 0x%lx",(long)HvARRAY(sv));
#endif
Perl_dump_indent(aTHX_ level, file, " FILL = %" PERL_PRId64 "\n", (IV)HvFILL(sv));
Perl_dump_indent(aTHX_ level, file, " MAX = %" PERL_PRId64 "\n", (IV)HvMAX(sv));
Perl_dump_indent(aTHX_ level, file, " RITER = %" PERL_PRId64 "\n", (IV)HvRITER(sv));
- Perl_dump_indent(aTHX_ level, file, " EITER = 0x%" PERL_PRIx64 "\n",(IV) HvEITER(sv));
+ Perl_dump_indent(aTHX_ level, file, " EITER = 0x%" PERL_PRIx64 "\n",PTR2IV(HvEITER(sv)));
#else
Perl_dump_indent(aTHX_ level, file, " KEYS = %ld\n", (long)HvKEYS(sv));
Perl_dump_indent(aTHX_ level, file, " FILL = %ld\n", (long)HvFILL(sv));
#endif
if (HvPMROOT(sv))
#ifdef IV_IS_QUAD
- Perl_dump_indent(aTHX_ level, file, " PMROOT = 0x%" PERL_PRIx64 "\n",(IV)HvPMROOT(sv));
+ Perl_dump_indent(aTHX_ level, file, " PMROOT = 0x%" PERL_PRIx64 "\n",PTR2IV(HvPMROOT(sv)));
#else
Perl_dump_indent(aTHX_ level, file, " PMROOT = 0x%lx\n",(long)HvPMROOT(sv));
#endif
if (CvROOT(sv) && dumpops)
do_op_dump(level+1, file, CvROOT(sv));
#ifdef IV_IS_QUAD
- Perl_dump_indent(aTHX_ level, file, " XSUB = 0x%" PERL_PRIx64 "\n", (IV)CvXSUB(sv));
+ Perl_dump_indent(aTHX_ level, file, " XSUB = 0x%" PERL_PRIx64 "\n", PTR2IV(CvXSUB(sv)));
Perl_dump_indent(aTHX_ level, file, " XSUBANY = %" PERL_PRId64 "\n", (IV)CvXSUBANY(sv).any_i32);
#else
Perl_dump_indent(aTHX_ level, file, " XSUB = 0x%lx\n", (long)CvXSUB(sv));
Perl_dump_indent(aTHX_ level, file, " LINES = %ld\n", (long)FmLINES(sv));
#endif
#ifdef IV_IS_QUAD
- Perl_dump_indent(aTHX_ level, file, " PADLIST = 0x%" PERL_PRIx64 "\n", (IV)CvPADLIST(sv));
+ Perl_dump_indent(aTHX_ level, file, " PADLIST = 0x%" PERL_PRIx64 "\n", PTR2IV(CvPADLIST(sv)));
#else
Perl_dump_indent(aTHX_ level, file, " PADLIST = 0x%lx\n", (long)CvPADLIST(sv));
#endif
CV *outside = CvOUTSIDE(sv);
#ifdef IV_IS_QUAD
Perl_dump_indent(aTHX_ level, file, " OUTSIDE = 0x%" PERL_PRIx64 " (%s)\n",
- (IV)outside,
+ PTR2IV(outside),
(!outside ? "null"
: CvANON(outside) ? "ANON"
: (outside == PL_main_cv) ? "MAIN"
#endif
do_hv_dump (level, file, " GvSTASH", GvSTASH(sv));
#ifdef IV_IS_QUAD
- Perl_dump_indent(aTHX_ level, file, " GP = 0x%" PERL_PRIx64 "\n", (IV)GvGP(sv));
- Perl_dump_indent(aTHX_ level, file, " SV = 0x%" PERL_PRIx64 "\n", (IV)GvSV(sv));
+ Perl_dump_indent(aTHX_ level, file, " GP = 0x%" PERL_PRIx64 "\n", PTR2IV(GvGP(sv)));
+ Perl_dump_indent(aTHX_ level, file, " SV = 0x%" PERL_PRIx64 "\n", PTR2IV(GvSV(sv)));
Perl_dump_indent(aTHX_ level, file, " REFCNT = %" PERL_PRId64 "\n", (IV)GvREFCNT(sv));
- Perl_dump_indent(aTHX_ level, file, " IO = 0x%" PERL_PRIx64 "\n", (IV)GvIOp(sv));
- Perl_dump_indent(aTHX_ level, file, " FORM = 0x%" PERL_PRIx64 " \n", (IV)GvFORM(sv));
- Perl_dump_indent(aTHX_ level, file, " AV = 0x%" PERL_PRIx64 "\n", (IV)GvAV(sv));
- Perl_dump_indent(aTHX_ level, file, " HV = 0x%" PERL_PRIx64 "\n", (IV)GvHV(sv));
- Perl_dump_indent(aTHX_ level, file, " CV = 0x%" PERL_PRIx64 "\n", (IV)GvCV(sv));
+ Perl_dump_indent(aTHX_ level, file, " IO = 0x%" PERL_PRIx64 "\n", PTR2IV(GvIOp(sv)));
+ Perl_dump_indent(aTHX_ level, file, " FORM = 0x%" PERL_PRIx64 " \n", PTR2IV(GvFORM(sv)));
+ Perl_dump_indent(aTHX_ level, file, " AV = 0x%" PERL_PRIx64 "\n", PTR2IV(GvAV(sv)));
+ Perl_dump_indent(aTHX_ level, file, " HV = 0x%" PERL_PRIx64 "\n", PTR2IV(GvHV(sv)));
+ Perl_dump_indent(aTHX_ level, file, " CV = 0x%" PERL_PRIx64 "\n", PTR2IV(GvCV(sv)));
Perl_dump_indent(aTHX_ level, file, " CVGEN = 0x%" PERL_PRIx64 "\n", (IV)GvCVGEN(sv));
Perl_dump_indent(aTHX_ level, file, " LASTEXPR = %" PERL_PRId64 "\n", (IV)GvLASTEXPR(sv));
Perl_dump_indent(aTHX_ level, file, " LINE = %" PERL_PRId64 "\n", (IV)GvLINE(sv));
break;
case SVt_PVIO:
#ifdef IV_IS_QUAD
- Perl_dump_indent(aTHX_ level, file, " IFP = 0x%" PERL_PRIx64 "\n", (IV)IoIFP(sv));
- Perl_dump_indent(aTHX_ level, file, " OFP = 0x%" PERL_PRIx64 "\n", (IV)IoOFP(sv));
- Perl_dump_indent(aTHX_ level, file, " DIRP = 0x%" PERL_PRIx64 "\n", (IV)IoDIRP(sv));
+ Perl_dump_indent(aTHX_ level, file, " IFP = 0x%" PERL_PRIx64 "\n", PTR2IV(IoIFP(sv)));
+ Perl_dump_indent(aTHX_ level, file, " OFP = 0x%" PERL_PRIx64 "\n", PTR2IV(IoOFP(sv)));
+ Perl_dump_indent(aTHX_ level, file, " DIRP = 0x%" PERL_PRIx64 "\n", PTR2IV(IoDIRP(sv)));
Perl_dump_indent(aTHX_ level, file, " LINES = %" PERL_PRId64 "\n", (IV)IoLINES(sv));
Perl_dump_indent(aTHX_ level, file, " PAGE = %" PERL_PRId64 "\n", (IV)IoPAGE(sv));
Perl_dump_indent(aTHX_ level, file, " PAGE_LEN = %" PERL_PRId64 "\n", (IV)IoPAGE_LEN(sv));
# define Perl_safesysrealloc Perl_saferealloc
# define Perl_set_numeric_local perl_set_numeric_local
# define Perl_set_numeric_standard perl_set_numeric_standard
-# define PERL_POLLUTE
-# ifndef EMBEDMYMALLOC
-# define PERL_POLLUTE_MALLOC
+/* malloc() pollution was the default in earlier versions, so enable
+ * it for bincompat; but not for systems that used to do prevent that,
+ * or when they ask for {HIDE,EMBED}MYMALLOC */
+# if !defined(EMBEDMYMALLOC) && !defined(HIDEMYMALLOC)
+# if !defined(NeXT) && !defined(__NeXT) && !defined(__MACHTEN__) && \
+ !defined(__QNX__)
+# define PERL_POLLUTE_MALLOC
+# endif
# endif
#endif
#define die_nocontext Perl_die_nocontext
#define deb_nocontext Perl_deb_nocontext
#define form_nocontext Perl_form_nocontext
+#define mess_nocontext Perl_mess_nocontext
#define warn_nocontext Perl_warn_nocontext
#define warner_nocontext Perl_warner_nocontext
#define newSVpvf_nocontext Perl_newSVpvf_nocontext
#define mem_collxfrm Perl_mem_collxfrm
#endif
#define mess Perl_mess
+#define vmess Perl_vmess
+#define qerror Perl_qerror
#define mg_clear Perl_mg_clear
#define mg_copy Perl_mg_copy
#define mg_find Perl_mg_find
#define more_xiv S_more_xiv
#define more_xnv S_more_xnv
#define more_xpv S_more_xpv
+#define more_xpviv S_more_xpviv
+#define more_xpvnv S_more_xpvnv
+#define more_xpvcv S_more_xpvcv
+#define more_xpvav S_more_xpvav
+#define more_xpvhv S_more_xpvhv
+#define more_xpvmg S_more_xpvmg
+#define more_xpvlv S_more_xpvlv
+#define more_xpvbm S_more_xpvbm
#define more_xrv S_more_xrv
#define new_xiv S_new_xiv
#define new_xnv S_new_xnv
#define new_xpv S_new_xpv
+#define new_xpviv S_new_xpviv
+#define new_xpvnv S_new_xpvnv
+#define new_xpvcv S_new_xpvcv
+#define new_xpvav S_new_xpvav
+#define new_xpvhv S_new_xpvhv
+#define new_xpvmg S_new_xpvmg
+#define new_xpvlv S_new_xpvlv
+#define new_xpvbm S_new_xpvbm
#define new_xrv S_new_xrv
#define del_xiv S_del_xiv
#define del_xnv S_del_xnv
#define del_xpv S_del_xpv
+#define del_xpviv S_del_xpviv
+#define del_xpvnv S_del_xpvnv
+#define del_xpvcv S_del_xpvcv
+#define del_xpvav S_del_xpvav
+#define del_xpvhv S_del_xpvhv
+#define del_xpvmg S_del_xpvmg
+#define del_xpvlv S_del_xpvlv
+#define del_xpvbm S_del_xpvbm
#define del_xrv S_del_xrv
#define sv_unglob S_sv_unglob
#define not_a_number S_not_a_number
#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
#define isa_lookup S_isa_lookup
#endif
-#if defined(PERL_IN_XSUTILS_C) || defined(PERL_DECL_PROT)
-#define modify_SV_attributes S_modify_SV_attributes
-#endif
#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
#define mess_alloc S_mess_alloc
# if defined(LEAKTEST)
#define ck_glob Perl_ck_glob
#define ck_grep Perl_ck_grep
#define ck_index Perl_ck_index
+#define ck_join Perl_ck_join
#define ck_lengthconst Perl_ck_lengthconst
#define ck_lfun Perl_ck_lfun
#define ck_listiob Perl_ck_listiob
#define pp_leaveeval Perl_pp_leaveeval
#define pp_leaveloop Perl_pp_leaveloop
#define pp_leavesub Perl_pp_leavesub
+#define pp_leavesublv Perl_pp_leavesublv
#define pp_leavetry Perl_pp_leavetry
#define pp_leavewrite Perl_pp_leavewrite
#define pp_left_shift Perl_pp_left_shift
#if defined(USE_LOCALE_COLLATE)
#define mem_collxfrm(a,b,c) Perl_mem_collxfrm(aTHX_ a,b,c)
#endif
-#define mess(a,b) Perl_mess(aTHX_ a,b)
+#define vmess(a,b) Perl_vmess(aTHX_ a,b)
+#define qerror(a) Perl_qerror(aTHX_ a)
#define mg_clear(a) Perl_mg_clear(aTHX_ a)
#define mg_copy(a,b,c,d) Perl_mg_copy(aTHX_ a,b,c,d)
#define mg_find(a,b) Perl_mg_find(aTHX_ a,b)
#define more_xiv() S_more_xiv(aTHX)
#define more_xnv() S_more_xnv(aTHX)
#define more_xpv() S_more_xpv(aTHX)
+#define more_xpviv() S_more_xpviv(aTHX)
+#define more_xpvnv() S_more_xpvnv(aTHX)
+#define more_xpvcv() S_more_xpvcv(aTHX)
+#define more_xpvav() S_more_xpvav(aTHX)
+#define more_xpvhv() S_more_xpvhv(aTHX)
+#define more_xpvmg() S_more_xpvmg(aTHX)
+#define more_xpvlv() S_more_xpvlv(aTHX)
+#define more_xpvbm() S_more_xpvbm(aTHX)
#define more_xrv() S_more_xrv(aTHX)
#define new_xiv() S_new_xiv(aTHX)
#define new_xnv() S_new_xnv(aTHX)
#define new_xpv() S_new_xpv(aTHX)
+#define new_xpviv() S_new_xpviv(aTHX)
+#define new_xpvnv() S_new_xpvnv(aTHX)
+#define new_xpvcv() S_new_xpvcv(aTHX)
+#define new_xpvav() S_new_xpvav(aTHX)
+#define new_xpvhv() S_new_xpvhv(aTHX)
+#define new_xpvmg() S_new_xpvmg(aTHX)
+#define new_xpvlv() S_new_xpvlv(aTHX)
+#define new_xpvbm() S_new_xpvbm(aTHX)
#define new_xrv() S_new_xrv(aTHX)
#define del_xiv(a) S_del_xiv(aTHX_ a)
#define del_xnv(a) S_del_xnv(aTHX_ a)
#define del_xpv(a) S_del_xpv(aTHX_ a)
+#define del_xpviv(a) S_del_xpviv(aTHX_ a)
+#define del_xpvnv(a) S_del_xpvnv(aTHX_ a)
+#define del_xpvcv(a) S_del_xpvcv(aTHX_ a)
+#define del_xpvav(a) S_del_xpvav(aTHX_ a)
+#define del_xpvhv(a) S_del_xpvhv(aTHX_ a)
+#define del_xpvmg(a) S_del_xpvmg(aTHX_ a)
+#define del_xpvlv(a) S_del_xpvlv(aTHX_ a)
+#define del_xpvbm(a) S_del_xpvbm(aTHX_ a)
#define del_xrv(a) S_del_xrv(aTHX_ a)
#define sv_unglob(a) S_sv_unglob(aTHX_ a)
#define not_a_number(a) S_not_a_number(aTHX_ a)
#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
#define isa_lookup(a,b,c,d) S_isa_lookup(aTHX_ a,b,c,d)
#endif
-#if defined(PERL_IN_XSUTILS_C) || defined(PERL_DECL_PROT)
-#define modify_SV_attributes(a,b,c,d) S_modify_SV_attributes(aTHX_ a,b,c,d)
-#endif
#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
#define mess_alloc() S_mess_alloc(aTHX)
# if defined(LEAKTEST)
#define ck_glob(a) Perl_ck_glob(aTHX_ a)
#define ck_grep(a) Perl_ck_grep(aTHX_ a)
#define ck_index(a) Perl_ck_index(aTHX_ a)
+#define ck_join(a) Perl_ck_join(aTHX_ a)
#define ck_lengthconst(a) Perl_ck_lengthconst(aTHX_ a)
#define ck_lfun(a) Perl_ck_lfun(aTHX_ a)
#define ck_listiob(a) Perl_ck_listiob(aTHX_ a)
#define pp_leaveeval() Perl_pp_leaveeval(aTHX)
#define pp_leaveloop() Perl_pp_leaveloop(aTHX)
#define pp_leavesub() Perl_pp_leavesub(aTHX)
+#define pp_leavesublv() Perl_pp_leavesublv(aTHX)
#define pp_leavetry() Perl_pp_leavetry(aTHX)
#define pp_leavewrite() Perl_pp_leavewrite(aTHX)
#define pp_left_shift() Perl_pp_left_shift(aTHX)
#define deb_nocontext Perl_deb_nocontext
#define Perl_form_nocontext CPerlObj::Perl_form_nocontext
#define form_nocontext Perl_form_nocontext
+#define Perl_mess_nocontext CPerlObj::Perl_mess_nocontext
+#define mess_nocontext Perl_mess_nocontext
#define Perl_warn_nocontext CPerlObj::Perl_warn_nocontext
#define warn_nocontext Perl_warn_nocontext
#define Perl_warner_nocontext CPerlObj::Perl_warner_nocontext
#endif
#define Perl_mess CPerlObj::Perl_mess
#define mess Perl_mess
+#define Perl_vmess CPerlObj::Perl_vmess
+#define vmess Perl_vmess
+#define Perl_qerror CPerlObj::Perl_qerror
+#define qerror Perl_qerror
#define Perl_mg_clear CPerlObj::Perl_mg_clear
#define mg_clear Perl_mg_clear
#define Perl_mg_copy CPerlObj::Perl_mg_copy
#define more_xnv S_more_xnv
#define S_more_xpv CPerlObj::S_more_xpv
#define more_xpv S_more_xpv
+#define S_more_xpviv CPerlObj::S_more_xpviv
+#define more_xpviv S_more_xpviv
+#define S_more_xpvnv CPerlObj::S_more_xpvnv
+#define more_xpvnv S_more_xpvnv
+#define S_more_xpvcv CPerlObj::S_more_xpvcv
+#define more_xpvcv S_more_xpvcv
+#define S_more_xpvav CPerlObj::S_more_xpvav
+#define more_xpvav S_more_xpvav
+#define S_more_xpvhv CPerlObj::S_more_xpvhv
+#define more_xpvhv S_more_xpvhv
+#define S_more_xpvmg CPerlObj::S_more_xpvmg
+#define more_xpvmg S_more_xpvmg
+#define S_more_xpvlv CPerlObj::S_more_xpvlv
+#define more_xpvlv S_more_xpvlv
+#define S_more_xpvbm CPerlObj::S_more_xpvbm
+#define more_xpvbm S_more_xpvbm
#define S_more_xrv CPerlObj::S_more_xrv
#define more_xrv S_more_xrv
#define S_new_xiv CPerlObj::S_new_xiv
#define new_xnv S_new_xnv
#define S_new_xpv CPerlObj::S_new_xpv
#define new_xpv S_new_xpv
+#define S_new_xpviv CPerlObj::S_new_xpviv
+#define new_xpviv S_new_xpviv
+#define S_new_xpvnv CPerlObj::S_new_xpvnv
+#define new_xpvnv S_new_xpvnv
+#define S_new_xpvcv CPerlObj::S_new_xpvcv
+#define new_xpvcv S_new_xpvcv
+#define S_new_xpvav CPerlObj::S_new_xpvav
+#define new_xpvav S_new_xpvav
+#define S_new_xpvhv CPerlObj::S_new_xpvhv
+#define new_xpvhv S_new_xpvhv
+#define S_new_xpvmg CPerlObj::S_new_xpvmg
+#define new_xpvmg S_new_xpvmg
+#define S_new_xpvlv CPerlObj::S_new_xpvlv
+#define new_xpvlv S_new_xpvlv
+#define S_new_xpvbm CPerlObj::S_new_xpvbm
+#define new_xpvbm S_new_xpvbm
#define S_new_xrv CPerlObj::S_new_xrv
#define new_xrv S_new_xrv
#define S_del_xiv CPerlObj::S_del_xiv
#define del_xnv S_del_xnv
#define S_del_xpv CPerlObj::S_del_xpv
#define del_xpv S_del_xpv
+#define S_del_xpviv CPerlObj::S_del_xpviv
+#define del_xpviv S_del_xpviv
+#define S_del_xpvnv CPerlObj::S_del_xpvnv
+#define del_xpvnv S_del_xpvnv
+#define S_del_xpvcv CPerlObj::S_del_xpvcv
+#define del_xpvcv S_del_xpvcv
+#define S_del_xpvav CPerlObj::S_del_xpvav
+#define del_xpvav S_del_xpvav
+#define S_del_xpvhv CPerlObj::S_del_xpvhv
+#define del_xpvhv S_del_xpvhv
+#define S_del_xpvmg CPerlObj::S_del_xpvmg
+#define del_xpvmg S_del_xpvmg
+#define S_del_xpvlv CPerlObj::S_del_xpvlv
+#define del_xpvlv S_del_xpvlv
+#define S_del_xpvbm CPerlObj::S_del_xpvbm
+#define del_xpvbm S_del_xpvbm
#define S_del_xrv CPerlObj::S_del_xrv
#define del_xrv S_del_xrv
#define S_sv_unglob CPerlObj::S_sv_unglob
#define S_isa_lookup CPerlObj::S_isa_lookup
#define isa_lookup S_isa_lookup
#endif
-#if defined(PERL_IN_XSUTILS_C) || defined(PERL_DECL_PROT)
-#define S_modify_SV_attributes CPerlObj::S_modify_SV_attributes
-#define modify_SV_attributes S_modify_SV_attributes
-#endif
#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
#define S_mess_alloc CPerlObj::S_mess_alloc
#define mess_alloc S_mess_alloc
#define ck_grep Perl_ck_grep
#define Perl_ck_index CPerlObj::Perl_ck_index
#define ck_index Perl_ck_index
+#define Perl_ck_join CPerlObj::Perl_ck_join
+#define ck_join Perl_ck_join
#define Perl_ck_lengthconst CPerlObj::Perl_ck_lengthconst
#define ck_lengthconst Perl_ck_lengthconst
#define Perl_ck_lfun CPerlObj::Perl_ck_lfun
#define pp_leaveloop Perl_pp_leaveloop
#define Perl_pp_leavesub CPerlObj::Perl_pp_leavesub
#define pp_leavesub Perl_pp_leavesub
+#define Perl_pp_leavesublv CPerlObj::Perl_pp_leavesublv
+#define pp_leavesublv Perl_pp_leavesublv
#define Perl_pp_leavetry CPerlObj::Perl_pp_leavetry
#define pp_leavetry Perl_pp_leavetry
#define Perl_pp_leavewrite CPerlObj::Perl_pp_leavewrite
*/
#if !defined(PERL_CORE)
-# define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,(IV)ptr)
-# define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,(IV)ptr)
+# define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,PTR2IV(ptr))
+# define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,PTR2IV(ptr))
#endif
#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) && !defined(PERL_BINCOMPAT_5005)
# define deb Perl_deb_nocontext
# define die Perl_die_nocontext
# define form Perl_form_nocontext
+# define mess Perl_mess_nocontext
# define newSVpvf Perl_newSVpvf_nocontext
# define sv_catpvf Perl_sv_catpvf_nocontext
# define sv_setpvf Perl_sv_setpvf_nocontext
# define Perl_die_nocontext Perl_die
# define Perl_deb_nocontext Perl_deb
# define Perl_form_nocontext Perl_form
+# define Perl_mess_nocontext Perl_mess
# define Perl_newSVpvf_nocontext Perl_newSVpvf
# define Perl_sv_catpvf_nocontext Perl_sv_catpvf
# define Perl_sv_setpvf_nocontext Perl_sv_setpvf
# define Perl_safesysrealloc Perl_saferealloc
# define Perl_set_numeric_local perl_set_numeric_local
# define Perl_set_numeric_standard perl_set_numeric_standard
-# define PERL_POLLUTE
-# ifndef EMBEDMYMALLOC
-# define PERL_POLLUTE_MALLOC
+/* malloc() pollution was the default in earlier versions, so enable
+ * it for bincompat; but not for systems that used to do prevent that,
+ * or when they ask for {HIDE,EMBED}MYMALLOC */
+# if !defined(EMBEDMYMALLOC) && !defined(HIDEMYMALLOC)
+# if !defined(NeXT) && !defined(__NeXT) && !defined(__MACHTEN__) && \
+ !defined(__QNX__)
+# define PERL_POLLUTE_MALLOC
+# endif
# endif
#endif
*/
#if !defined(PERL_CORE)
-# define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,(IV)ptr)
-# define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,(IV)ptr)
+# define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,PTR2IV(ptr))
+# define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,PTR2IV(ptr))
#endif
#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) && !defined(PERL_BINCOMPAT_5005)
# define deb Perl_deb_nocontext
# define die Perl_die_nocontext
# define form Perl_form_nocontext
+# define mess Perl_mess_nocontext
# define newSVpvf Perl_newSVpvf_nocontext
# define sv_catpvf Perl_sv_catpvf_nocontext
# define sv_setpvf Perl_sv_setpvf_nocontext
# define Perl_die_nocontext Perl_die
# define Perl_deb_nocontext Perl_deb
# define Perl_form_nocontext Perl_form
+# define Perl_mess_nocontext Perl_mess
# define Perl_newSVpvf_nocontext Perl_newSVpvf
# define Perl_sv_catpvf_nocontext Perl_sv_catpvf
# define Perl_sv_setpvf_nocontext Perl_sv_setpvf
Perl_warner Perl_vwarner
Perl_die Perl_vdie
Perl_form Perl_vform
+ Perl_mess Perl_vmess
Perl_deb Perl_vdeb
Perl_newSVpvf Perl_vnewSVpvf
Perl_sv_setpvf Perl_sv_vsetpvf
? '' : 'return ');
my $emitval = '';
if (@args and $args[$#args] =~ /\.\.\./) {
- pop @args;
pop @aargs;
my $retarg = '';
my $ctxfunc = $func;
np |OP* |die_nocontext |const char* pat|...
np |void |deb_nocontext |const char* pat|...
np |char* |form_nocontext |const char* pat|...
+np |SV* |mess_nocontext |const char* pat|...
np |void |warn_nocontext |const char* pat|...
np |void |warner_nocontext|U32 err|const char* pat|...
np |SV* |newSVpvf_nocontext|const char* pat|...
#if defined(USE_LOCALE_COLLATE)
p |char* |mem_collxfrm |const char* s|STRLEN len|STRLEN* xlen
#endif
-p |SV* |mess |const char* pat|va_list* args
+p |SV* |mess |const char* pat|...
+p |SV* |vmess |const char* pat|va_list* args
+p |void |qerror |SV* err
p |int |mg_clear |SV* sv
p |int |mg_copy |SV* sv|SV* nsv|const char* key|I32 klen
p |MAGIC* |mg_find |SV* sv|int type
p |void |sv_usepvn |SV* sv|char* ptr|STRLEN len
p |void |sv_vcatpvfn |SV* sv|const char* pat|STRLEN patlen \
|va_list* args|SV** svargs|I32 svmax \
- |bool *used_locale
+ |bool *maybe_tainted
p |void |sv_vsetpvfn |SV* sv|const char* pat|STRLEN patlen \
|va_list* args|SV** svargs|I32 svmax \
- |bool *used_locale
+ |bool *maybe_tainted
p |SV* |swash_init |char* pkg|char* name|SV* listsv \
|I32 minbits|I32 none
p |UV |swash_fetch |SV *sv|U8 *ptr
s |void |more_xiv
s |void |more_xnv
s |void |more_xpv
+s |void |more_xpviv
+s |void |more_xpvnv
+s |void |more_xpvcv
+s |void |more_xpvav
+s |void |more_xpvhv
+s |void |more_xpvmg
+s |void |more_xpvlv
+s |void |more_xpvbm
s |void |more_xrv
s |XPVIV* |new_xiv
s |XPVNV* |new_xnv
s |XPV* |new_xpv
+s |XPVIV* |new_xpviv
+s |XPVNV* |new_xpvnv
+s |XPVCV* |new_xpvcv
+s |XPVAV* |new_xpvav
+s |XPVHV* |new_xpvhv
+s |XPVMG* |new_xpvmg
+s |XPVLV* |new_xpvlv
+s |XPVBM* |new_xpvbm
s |XRV* |new_xrv
s |void |del_xiv |XPVIV* p
s |void |del_xnv |XPVNV* p
s |void |del_xpv |XPV* p
+s |void |del_xpviv |XPVIV* p
+s |void |del_xpvnv |XPVNV* p
+s |void |del_xpvcv |XPVCV* p
+s |void |del_xpvav |XPVAV* p
+s |void |del_xpvhv |XPVHV* p
+s |void |del_xpvmg |XPVMG* p
+s |void |del_xpvlv |XPVLV* p
+s |void |del_xpvbm |XPVBM* p
s |void |del_xrv |XRV* p
s |void |sv_unglob |SV* sv
s |void |not_a_number |SV *sv
s |SV*|isa_lookup |HV *stash|const char *name|int len|int level
#endif
-#if defined(PERL_IN_XSUTILS_C) || defined(PERL_DECL_PROT)
-s |int|modify_SV_attributes|SV *sv|SV **retlist|SV **attrlist|int numattrs
-#endif
-
#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
s |SV* |mess_alloc
# if defined(LEAKTEST)
#define PL_delaymagic (vTHX->Tdelaymagic)
#define PL_dirty (vTHX->Tdirty)
#define PL_dumpindent (vTHX->Tdumpindent)
+#define PL_efloatbuf (vTHX->Tefloatbuf)
+#define PL_efloatsize (vTHX->Tefloatsize)
+#define PL_errors (vTHX->Terrors)
#define PL_extralen (vTHX->Textralen)
#define PL_firstgv (vTHX->Tfirstgv)
#define PL_formtarget (vTHX->Tformtarget)
#define PL_doswitches (PERL_GET_INTERP->Idoswitches)
#define PL_dowarn (PERL_GET_INTERP->Idowarn)
#define PL_e_script (PERL_GET_INTERP->Ie_script)
-#define PL_efloatbuf (PERL_GET_INTERP->Iefloatbuf)
-#define PL_efloatsize (PERL_GET_INTERP->Iefloatsize)
#define PL_egid (PERL_GET_INTERP->Iegid)
#define PL_endav (PERL_GET_INTERP->Iendav)
#define PL_envgv (PERL_GET_INTERP->Ienvgv)
#define PL_xiv_root (PERL_GET_INTERP->Ixiv_root)
#define PL_xnv_root (PERL_GET_INTERP->Ixnv_root)
#define PL_xpv_root (PERL_GET_INTERP->Ixpv_root)
+#define PL_xpvav_root (PERL_GET_INTERP->Ixpvav_root)
+#define PL_xpvbm_root (PERL_GET_INTERP->Ixpvbm_root)
+#define PL_xpvcv_root (PERL_GET_INTERP->Ixpvcv_root)
+#define PL_xpvhv_root (PERL_GET_INTERP->Ixpvhv_root)
+#define PL_xpviv_root (PERL_GET_INTERP->Ixpviv_root)
+#define PL_xpvlv_root (PERL_GET_INTERP->Ixpvlv_root)
+#define PL_xpvmg_root (PERL_GET_INTERP->Ixpvmg_root)
+#define PL_xpvnv_root (PERL_GET_INTERP->Ixpvnv_root)
#define PL_xrv_root (PERL_GET_INTERP->Ixrv_root)
#define PL_yychar (PERL_GET_INTERP->Iyychar)
#define PL_yydebug (PERL_GET_INTERP->Iyydebug)
#define PL_doswitches (vTHX->Idoswitches)
#define PL_dowarn (vTHX->Idowarn)
#define PL_e_script (vTHX->Ie_script)
-#define PL_efloatbuf (vTHX->Iefloatbuf)
-#define PL_efloatsize (vTHX->Iefloatsize)
#define PL_egid (vTHX->Iegid)
#define PL_endav (vTHX->Iendav)
#define PL_envgv (vTHX->Ienvgv)
#define PL_xiv_root (vTHX->Ixiv_root)
#define PL_xnv_root (vTHX->Ixnv_root)
#define PL_xpv_root (vTHX->Ixpv_root)
+#define PL_xpvav_root (vTHX->Ixpvav_root)
+#define PL_xpvbm_root (vTHX->Ixpvbm_root)
+#define PL_xpvcv_root (vTHX->Ixpvcv_root)
+#define PL_xpvhv_root (vTHX->Ixpvhv_root)
+#define PL_xpviv_root (vTHX->Ixpviv_root)
+#define PL_xpvlv_root (vTHX->Ixpvlv_root)
+#define PL_xpvmg_root (vTHX->Ixpvmg_root)
+#define PL_xpvnv_root (vTHX->Ixpvnv_root)
#define PL_xrv_root (vTHX->Ixrv_root)
#define PL_yychar (vTHX->Iyychar)
#define PL_yydebug (vTHX->Iyydebug)
#define PL_Idoswitches PL_doswitches
#define PL_Idowarn PL_dowarn
#define PL_Ie_script PL_e_script
-#define PL_Iefloatbuf PL_efloatbuf
-#define PL_Iefloatsize PL_efloatsize
#define PL_Iegid PL_egid
#define PL_Iendav PL_endav
#define PL_Ienvgv PL_envgv
#define PL_Ixiv_root PL_xiv_root
#define PL_Ixnv_root PL_xnv_root
#define PL_Ixpv_root PL_xpv_root
+#define PL_Ixpvav_root PL_xpvav_root
+#define PL_Ixpvbm_root PL_xpvbm_root
+#define PL_Ixpvcv_root PL_xpvcv_root
+#define PL_Ixpvhv_root PL_xpvhv_root
+#define PL_Ixpviv_root PL_xpviv_root
+#define PL_Ixpvlv_root PL_xpvlv_root
+#define PL_Ixpvmg_root PL_xpvmg_root
+#define PL_Ixpvnv_root PL_xpvnv_root
#define PL_Ixrv_root PL_xrv_root
#define PL_Iyychar PL_yychar
#define PL_Iyydebug PL_yydebug
#define PL_delaymagic (aTHX->Tdelaymagic)
#define PL_dirty (aTHX->Tdirty)
#define PL_dumpindent (aTHX->Tdumpindent)
+#define PL_efloatbuf (aTHX->Tefloatbuf)
+#define PL_efloatsize (aTHX->Tefloatsize)
+#define PL_errors (aTHX->Terrors)
#define PL_extralen (aTHX->Textralen)
#define PL_firstgv (aTHX->Tfirstgv)
#define PL_formtarget (aTHX->Tformtarget)
#define PL_Tdelaymagic PL_delaymagic
#define PL_Tdirty PL_dirty
#define PL_Tdumpindent PL_dumpindent
+#define PL_Tefloatbuf PL_efloatbuf
+#define PL_Tefloatsize PL_efloatsize
+#define PL_Terrors PL_errors
#define PL_Textralen PL_extralen
#define PL_Tfirstgv PL_firstgv
#define PL_Tformtarget PL_formtarget
* 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 "/perl/lib/5.00560/epoc" /**/
-#define ARCHLIB_EXP "/perl/lib/5.00560/epoc" /**/
+#define ARCHLIB "/perl/lib/5.00562/epoc" /**/
+#define ARCHLIB_EXP "/perl/lib/5.00562/epoc" /**/
/* DLSYM_NEEDS_UNDERSCORE:
* This symbol, if defined, indicates that we need to prepend an
*/
/*#define HAS_WRITEV /**/
-/* HAS_DBMINIT64:
- * This symbol, if defined, indicates that the dbminit64 routine is
- * available to open dbm files larger than 2 gigabytes.
- */
-/* HAS_DBMCLOSE64:
- * This symbol, if defined, indicates that the dbmclose64 routine is
- * available to close dbm files larger than 2 gigabytes.
- */
-/* HAS_FETCH64:
- * This symbol, if defined, indicates that the fetch64 routine is
- * available to fetch from dbm files larger than 2 gigabytes.
- */
-/* HAS_STORE64:
- * This symbol, if defined, indicates that the store64 routine is
- * available to store to dbm files larger than 2 gigabytes.
- */
-/* HAS_DELETE64:
- * This symbol, if defined, indicates that the delete64 routine is
- * available to delete from dbm files larger than 2 gigabytes.
- */
-/* HAS_FIRSTKEY64:
- * This symbol, if defined, indicates that the firstkey64 routine is
- * available to firstkey in dbm files larger than 2 gigabytes.
- */
-/* HAS_NEXTKEY64:
- * This symbol, if defined, indicates that the nextkey64 routine is
- * available to nextkey in dbm files larger than 2 gigabytes.
- */
-/*#define HAS_DBMINIT64 / **/
-/*#define HAS_DBMCLOSE64 / **/
-/*#define HAS_FETCH64 / **/
-/*#define HAS_STORE64 / **/
-/*#define HAS_DELETE64 / **/
-/*#define HAS_FIRSTKEY64 / **/
-/*#define HAS_NEXTKEY64 / **/
-
/* USE_DYNAMIC_LOADING:
* This symbol, if defined, indicates that dynamic loading of
* some sort is available.
*/
/*#define INSTALL_USR_BIN_PERL /**/
-/* HAS_FSTAT64:
- * This symbol, if defined, indicates that the fstat64 routine is
- * available to stat files (fds) larger than 2 gigabytes.
- */
-/* HAS_FTRUNCATE64:
- * This symbol, if defined, indicates that the ftruncate64 routine is
- * available to tell files larger than 2 gigabytes.
- */
-/* HAS_LSEEK64:
- * This symbol, if defined, indicates that the lseek64 routine is
- * available to seek files larger than 2 gigabytes.
- */
-/* HAS_LSTAT64:
- * This symbol, if defined, indicates that the lstat64 routine is
- * available to stat files (symlinks) larger than 2 gigabytes.
- */
-/* HAS_OPEN64:
- * This symbol, if defined, indicates that the open64 routine is
- * available to open files larger than 2 gigabytes.
- */
-/* HAS_OPENDIR64:
- * This symbol, if defined, indicates that the opendir64 routine is
- * available to opendir files larger than 2 gigabytes.
- */
-/* HAS_READDIR64:
- * This symbol, if defined, indicates that the readdir64 routine is
- * available to readdir files larger than 2 gigabytes.
- */
-/* HAS_SEEKDIR64:
- * This symbol, if defined, indicates that the seekdir64 routine is
- * available to seekdir files larger than 2 gigabytes.
- */
-/* HAS_STAT64:
- * This symbol, if defined, indicates that the stat64 routine is
- * available to stat files larger than 2 gigabytes.
- */
-/* HAS_TELLDIR64:
- * This symbol, if defined, indicates that the telldir64 routine is
- * available to telldir files larger than 2 gigabytes.
- */
-/* HAS_TRUNCATE64:
- * This symbol, if defined, indicates that the truncate64 routine is
- * available to truncate files larger than 2 gigabytes.
- */
-/* HAS_OFF64_T:
- * This symbol will be defined if the C compiler supports off64_t.
- */
-/* HAS_STRUCT_DIRENT64:
- * This symbol will be defined if the C compiler supports struct dirent64.
- */
-/*#define HAS_FSTAT64 / **/
-/*#define HAS_FTRUNCATE64 / **/
-/*#define HAS_LSEEK64 / **/
-/*#define HAS_LSTAT64 / **/
-/*#define HAS_OPEN64 / **/
-/*#define HAS_OPENDIR64 / **/
-/*#define HAS_READDIR64 / **/
-/*#define HAS_SEEKDIR64 / **/
-/*#define HAS_STAT64 / **/
-/*#define HAS_TELLDIR64 / **/
-/*#define HAS_TRUNCATE64 / **/
-/*#define HAS_OFF64_T / **/
-/*#define HAS_STRUCT_DIRENT64 / **/
-
/* 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
* This symbol contains the ~name expanded version of PRIVLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define PRIVLIB "/perl/lib/5.00560" /**/
-#define PRIVLIB_EXP "/perl/lib/5.00560" /**/
+#define PRIVLIB "/perl/lib/5.00562" /**/
+#define PRIVLIB_EXP "/perl/lib/5.00562" /**/
/* SELECT_MIN_BITS:
* This symbol holds the minimum number of bits operated by select.
* This symbol contains the ~name expanded version of SITEARCH, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define SITEARCH "/perl/lib/site_perl/5.00556/epoc" /**/
-#define SITEARCH_EXP "/perl/lib/site_perl/5.00560/epoc" /**/
+#define SITEARCH "/perl/lib/site_perl/5.00562/epoc" /**/
+#define SITEARCH_EXP "/perl/lib/site_perl/5.00562/epoc" /**/
/* SITELIB:
* This symbol contains the name of the private library for this package.
* This symbol contains the ~name expanded version of SITELIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define SITELIB "/perl/lib/site_perl/5.00560" /**/
-#define SITELIB_EXP "/perl/lib/site_perl/5.00560" /**/
+#define SITELIB "/perl/lib/site_perl/5.00562" /**/
+#define SITELIB_EXP "/perl/lib/site_perl/5.00562" /**/
/* STARTPERL:
* This variable contains the string to put in front of a perl
*/
#define STARTPERL "#!/opt/perl/bin/perl" /**/
-/* HAS_FGETPOS64:
- * This symbol, if defined, indicates that the fgetpos64 routine is
- * available to getpos files larger than 2 gigabytes.
- */
-/* HAS_FOPEN64:
- * This symbol, if defined, indicates that the fopen64 routine is
- * available to open files larger than 2 gigabytes.
- */
-/* HAS_FREOPEN64:
- * This symbol, if defined, indicates that the freopen64 routine is
- * available to reopen files larger than 2 gigabytes.
- */
-/* HAS_FSEEK64:
- * This symbol, if defined, indicates that the fseek64 routine is
- * available to seek files larger than 2 gigabytes.
- */
-/* HAS_FSEEKO64:
- * This symbol, if defined, indicates that the fseeko64 routine is
- * available to seek files larger than 2 gigabytes.
- */
-/* HAS_FSETPOS64:
- * This symbol, if defined, indicates that the fsetpos64 routine is
- * available to setpos files larger than 2 gigabytes.
- */
-/* HAS_FTELL64:
- * This symbol, if defined, indicates that the ftell64 routine is
- * available to tell files larger than 2 gigabytes.
- */
-/* HAS_FTELLO64:
- * This symbol, if defined, indicates that the ftello64 routine is
- * available to tell files larger than 2 gigabytes.
- */
-/* HAS_TMPFILE64:
- * This symbol, if defined, indicates that the tmpfile64 routine is
- * available to tmpfile files larger than 2 gigabytes.
- */
-/*#define HAS_FGETPOS64 / **/
-/*#define HAS_FOPEN64 / **/
-/*#define HAS_FREOPEN64 / **/
-/*#define HAS_FSEEK64 / **/
-/*#define HAS_FSEEKO64 / **/
-/*#define HAS_FSETPOS64 / **/
-/*#define HAS_FTELL64 / **/
-/*#define HAS_FTELLO64 / **/
-/*#define HAS_TMPFILE64 / **/
-
/* HAS_STDIO_STREAM_ARRAY:
* This symbol, if defined, tells that there is an array
* holding the stdio streams.
}
my %symtable;
+
+sub clearsym {
+ %symtable = ();
+}
+
sub savesym {
my ($obj, $value) = @_;
# warn(sprintf("savesym: sym_%x => %s\n", $$obj, $value)); # debug
}
if (!type) {
type = svclassnames[SvTYPE(sv)];
- iv = (IV)sv;
+ iv = PTR2IV(sv);
}
sv_setiv(newSVrv(arg, type), iv);
return arg;
static SV *
make_mg_object(pTHX_ SV *arg, MAGIC *mg)
{
- sv_setiv(newSVrv(arg, "B::MAGIC"), (IV)mg);
+ sv_setiv(newSVrv(arg, "B::MAGIC"), PTR2IV(mg));
return arg;
}
if (!SvROK(opsv))
croak("opsv is not a reference");
opsv = sv_mortalcopy(opsv);
- o = (OP*)SvIV((SV*)SvRV(opsv));
+ o = INT2PTR(OP*,SvIV((SV*)SvRV(opsv)));
if (walkoptree_debug) {
PUSHMARK(sp);
XPUSHs(opsv);
OP *kid;
for (kid = ((UNOP*)o)->op_first; kid; kid = kid->op_sibling) {
/* Use the same opsv. Rely on methods not to mess it up. */
- sv_setiv(newSVrv(opsv, cc_opclassname(aTHX_ kid)), (IV)kid);
+ sv_setiv(newSVrv(opsv, cc_opclassname(aTHX_ kid)), PTR2IV(kid));
walkoptree(aTHX_ opsv, method);
}
}
OUTPUT:
RETVAL
-#define address(sv) (IV)sv
+#define address(sv) PTR2IV(sv)
IV
address(sv)
if (o->op_type == OP_PUSHRE) {
sv_setiv(newSVrv(ST(0), root ?
svclassnames[SvTYPE((SV*)root)] : "B::SV"),
- (IV)root);
+ PTR2IV(root));
}
else {
- sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ root)), (IV)root);
+ sv_setiv(newSVrv(ST(0), cc_opclassname(aTHX_ root)), PTR2IV(root));
}
B::OP
* reach this code anyway (unless sizeof(IV) > 8 but then
* everything else breaks too so I'm not fussed at the moment).
*/
- wp[0] = htonl(((U32)iv) >> (sizeof(IV)*4));
+#ifdef UV_IS_QUAD
+ wp[0] = htonl(((UV)iv) >> (sizeof(UV)*4));
+#else
+ wp[0] = htonl(((U32)iv) >> (sizeof(UV)*4));
+#endif
wp[1] = htonl(iv & 0xffffffff);
ST(0) = sv_2mortal(newSVpvn((char *)wp, 8));
} else {
CvXSUB(cv)
B::CV cv
CODE:
- ST(0) = sv_2mortal(newSViv((IV)CvXSUB(cv)));
+ ST(0) = sv_2mortal(newSViv(PTR2IV(CvXSUB(cv))));
void
sub compile {
my @options = @_;
+ B::clearsym();
if (@options) {
return sub {
my $objname;
}
sub B::PVNV::bytecode {
- my ($sv, $flag) = @_;
+ my $sv = shift;
+ my $flag = shift || 0;
# The $flag argument is passed through PVMG::bytecode by BM::bytecode
# and AV::bytecode and indicates special handling. $flag = 1 is used by
# BM::bytecode and means that we should ensure we save the whole B-M
use FileHandle;
use Carp;
use strict;
+use Config;
+my $handle_VC_problem = "";
+$handle_VC_problem="{0}," if $^O eq 'MSWin32' and $Config{cc} =~ /^cl/i;
my $hv_index = 0;
my $gv_index = 0;
$init->add(sprintf("(void)find_threadsv(%s);",
cstring($threadsv_names[$op->targ])));
}
- $opsect->add(sprintf("s\\_%x, s\\_%x, %s, %u, %u, %u, 0x%x, 0x%x",
+ $opsect->add(sprintf("s\\_%x, s\\_%x, %s,$handle_VC_problem %u, %u, %u, 0x%x, 0x%x",
${$op->next}, ${$op->sibling}, $op->ppaddr, $op->targ,
$type, $op_seq, $op->flags, $op->private));
savesym($op, sprintf("&op_list[%d]", $opsect->index));
sub B::FAKEOP::save {
my ($op, $level) = @_;
- $opsect->add(sprintf("%s, %s, %s, %u, %u, %u, 0x%x, 0x%x",
+ $opsect->add(sprintf("%s, %s, %s,$handle_VC_problem %u, %u, %u, 0x%x, 0x%x",
$op->next, $op->sibling, $op->ppaddr, $op->targ,
$op->type, $op_seq, $op->flags, $op->private));
return sprintf("&op_list[%d]", $opsect->index);
my ($op, $level) = @_;
my $sym = objsym($op);
return $sym if defined $sym;
- $unopsect->add(sprintf("s\\_%x, s\\_%x, %s, %u, %u, %u, 0x%x, 0x%x, s\\_%x",
+ $unopsect->add(sprintf("s\\_%x, s\\_%x, %s,$handle_VC_problem %u, %u, %u, 0x%x, 0x%x, s\\_%x",
${$op->next}, ${$op->sibling}, $op->ppaddr,
$op->targ, $op->type, $op_seq, $op->flags,
$op->private, ${$op->first}));
my ($op, $level) = @_;
my $sym = objsym($op);
return $sym if defined $sym;
- $binopsect->add(sprintf("s\\_%x, s\\_%x, %s, %u, %u, %u, 0x%x, 0x%x, s\\_%x, s\\_%x",
+ $binopsect->add(sprintf("s\\_%x, s\\_%x, %s,$handle_VC_problem %u, %u, %u, 0x%x, 0x%x, s\\_%x, s\\_%x",
${$op->next}, ${$op->sibling}, $op->ppaddr,
$op->targ, $op->type, $op_seq, $op->flags,
$op->private, ${$op->first}, ${$op->last}));
my ($op, $level) = @_;
my $sym = objsym($op);
return $sym if defined $sym;
- $listopsect->add(sprintf("s\\_%x, s\\_%x, %s, %u, %u, %u, 0x%x, 0x%x, s\\_%x, s\\_%x, %u",
+ $listopsect->add(sprintf("s\\_%x, s\\_%x, %s,$handle_VC_problem %u, %u, %u, 0x%x, 0x%x, s\\_%x, s\\_%x, %u",
${$op->next}, ${$op->sibling}, $op->ppaddr,
$op->targ, $op->type, $op_seq, $op->flags,
$op->private, ${$op->first}, ${$op->last},
my ($op, $level) = @_;
my $sym = objsym($op);
return $sym if defined $sym;
- $logopsect->add(sprintf("s\\_%x, s\\_%x, %s, %u, %u, %u, 0x%x, 0x%x, s\\_%x, s\\_%x",
+ $logopsect->add(sprintf("s\\_%x, s\\_%x, %s,$handle_VC_problem %u, %u, %u, 0x%x, 0x%x, s\\_%x, s\\_%x",
${$op->next}, ${$op->sibling}, $op->ppaddr,
$op->targ, $op->type, $op_seq, $op->flags,
$op->private, ${$op->first}, ${$op->other}));
#warn sprintf("LOOP: redoop %s, nextop %s, lastop %s\n",
# peekop($op->redoop), peekop($op->nextop),
# peekop($op->lastop)); # debug
- $loopsect->add(sprintf("s\\_%x, s\\_%x, %s, %u, %u, %u, 0x%x, 0x%x, s\\_%x, s\\_%x, %u, s\\_%x, s\\_%x, s\\_%x",
+ $loopsect->add(sprintf("s\\_%x, s\\_%x, %s,$handle_VC_problem %u, %u, %u, 0x%x, 0x%x, s\\_%x, s\\_%x, %u, s\\_%x, s\\_%x, s\\_%x",
${$op->next}, ${$op->sibling}, $op->ppaddr,
$op->targ, $op->type, $op_seq, $op->flags,
$op->private, ${$op->first}, ${$op->last},
my ($op, $level) = @_;
my $sym = objsym($op);
return $sym if defined $sym;
- $pvopsect->add(sprintf("s\\_%x, s\\_%x, %s, %u, %u, %u, 0x%x, 0x%x, %s",
+ $pvopsect->add(sprintf("s\\_%x, s\\_%x, %s, $handle_VC_problem %u, %u, %u, 0x%x, 0x%x, %s",
${$op->next}, ${$op->sibling}, $op->ppaddr,
$op->targ, $op->type, $op_seq, $op->flags,
$op->private, cstring($op->pv)));
my $sym = objsym($op);
return $sym if defined $sym;
my $svsym = $op->sv->save;
- $svopsect->add(sprintf("s\\_%x, s\\_%x, %s, %u, %u, %u, 0x%x, 0x%x, %s",
+ $svopsect->add(sprintf("s\\_%x, s\\_%x, %s,$handle_VC_problem %u, %u, %u, 0x%x, 0x%x, %s",
${$op->next}, ${$op->sibling}, $op->ppaddr,
$op->targ, $op->type, $op_seq, $op->flags,
$op->private, "(SV*)$svsym"));
my $sym = objsym($op);
return $sym if defined $sym;
my $gvsym = $op->gv->save;
- $gvopsect->add(sprintf("s\\_%x, s\\_%x, %s, %u, %u, %u, 0x%x, 0x%x, Nullgv",
+ $gvopsect->add(sprintf("s\\_%x, s\\_%x, %s,$handle_VC_problem %u, %u, %u, 0x%x, 0x%x, Nullgv",
${$op->next}, ${$op->sibling}, $op->ppaddr,
$op->targ, $op->type, $op_seq, $op->flags,
$op->private));
my $stashsym = $op->stash->save;
warn sprintf("COP: line %d file %s\n", $op->line, $op->filegv->SV->PV)
if $debug_cops;
- $copsect->add(sprintf("s\\_%x, s\\_%x, %s, %u, %u, %u, 0x%x, 0x%x, %s, Nullhv, Nullgv, %u, %d, %u",
+ $copsect->add(sprintf("s\\_%x, s\\_%x, %s,$handle_VC_problem %u, %u, %u, 0x%x, 0x%x, %s, Nullhv, Nullgv, %u, %d, %u",
${$op->next}, ${$op->sibling}, $op->ppaddr,
$op->targ, $op->type, $op_seq, $op->flags,
$op->private, cstring($op->label), $op->cop_seq,
# pmnext handling is broken in perl itself, I think. Bad op_pmnext
# fields aren't noticed in perl's runtime (unless you try reset) but we
# segfault when trying to dereference it to find op->op_pmnext->op_type
- $pmopsect->add(sprintf("s\\_%x, s\\_%x, %s, %u, %u, %u, 0x%x, 0x%x, s\\_%x, s\\_%x, %u, %s, %s, 0, 0, 0x%x, 0x%x",
+ $pmopsect->add(sprintf("s\\_%x, s\\_%x, %s,$handle_VC_problem %u, %u, %u, 0x%x, 0x%x, s\\_%x, s\\_%x, %u, %s, %s, 0, 0, 0x%x, 0x%x",
${$op->next}, ${$op->sibling}, $ppaddr, $op->targ,
$op->type, $op_seq, $op->flags, $op->private,
${$op->first}, ${$op->last}, $op->children,
#if ($$sv == 0) {
# warn "NULL::save for sv = 0 called from @{[(caller(1))[3]]}\n";
#}
- $svsect->add(sprintf("0, %u, 0x%x", $sv->REFCNT + 1, $sv->FLAGS));
+ $svsect->add(sprintf("0, %u, 0x%x", $sv->REFCNT , $sv->FLAGS));
return savesym($sv, sprintf("&sv_list[%d]", $svsect->index));
}
return $sym if defined $sym;
$xpvivsect->add(sprintf("0, 0, 0, %d", $sv->IVX));
$svsect->add(sprintf("&xpviv_list[%d], %lu, 0x%x",
- $xpvivsect->index, $sv->REFCNT + 1, $sv->FLAGS));
+ $xpvivsect->index, $sv->REFCNT , $sv->FLAGS));
return savesym($sv, sprintf("&sv_list[%d]", $svsect->index));
}
$val .= '.00' if $val =~ /^-?\d+$/;
$xpvnvsect->add(sprintf("0, 0, 0, %d, %s", $sv->IVX, $val));
$svsect->add(sprintf("&xpvnv_list[%d], %lu, 0x%x",
- $xpvnvsect->index, $sv->REFCNT + 1, $sv->FLAGS));
+ $xpvnvsect->index, $sv->REFCNT , $sv->FLAGS));
return savesym($sv, sprintf("&sv_list[%d]", $svsect->index));
}
$pvsym, $len, $pvmax, $sv->IVX, $sv->NVX,
$sv->TARGOFF, $sv->TARGLEN, cchar($sv->TYPE)));
$svsect->add(sprintf("&xpvlv_list[%d], %lu, 0x%x",
- $xpvlvsect->index, $sv->REFCNT + 1, $sv->FLAGS));
+ $xpvlvsect->index, $sv->REFCNT , $sv->FLAGS));
if (!$pv_copy_on_grow) {
$init->add(sprintf("xpvlv_list[%d].xpv_pv = savepvn(%s, %u);",
$xpvlvsect->index, cstring($pv), $len));
my ($pvsym, $pvmax) = savepv($pv);
$xpvivsect->add(sprintf("%s, %u, %u, %d", $pvsym, $len, $pvmax, $sv->IVX));
$svsect->add(sprintf("&xpviv_list[%d], %u, 0x%x",
- $xpvivsect->index, $sv->REFCNT + 1, $sv->FLAGS));
+ $xpvivsect->index, $sv->REFCNT , $sv->FLAGS));
if (!$pv_copy_on_grow) {
$init->add(sprintf("xpviv_list[%d].xpv_pv = savepvn(%s, %u);",
$xpvivsect->index, cstring($pv), $len));
$xpvnvsect->add(sprintf("%s, %u, %u, %d, %s",
$pvsym, $len, $pvmax, $sv->IVX, $val));
$svsect->add(sprintf("&xpvnv_list[%d], %lu, 0x%x",
- $xpvnvsect->index, $sv->REFCNT + 1, $sv->FLAGS));
+ $xpvnvsect->index, $sv->REFCNT , $sv->FLAGS));
if (!$pv_copy_on_grow) {
$init->add(sprintf("xpvnv_list[%d].xpv_pv = savepvn(%s,%u);",
$xpvnvsect->index, cstring($pv), $len));
$len, $len + 258, $sv->IVX, $sv->NVX,
$sv->USEFUL, $sv->PREVIOUS, $sv->RARE));
$svsect->add(sprintf("&xpvbm_list[%d], %lu, 0x%x",
- $xpvbmsect->index, $sv->REFCNT + 1, $sv->FLAGS));
+ $xpvbmsect->index, $sv->REFCNT , $sv->FLAGS));
$sv->save_magic;
$init->add(sprintf("xpvbm_list[%d].xpv_pv = savepvn(%s, %u);",
$xpvbmsect->index, cstring($pv), $len),
my ($pvsym, $pvmax) = savepv($pv);
$xpvsect->add(sprintf("%s, %u, %u", $pvsym, $len, $pvmax));
$svsect->add(sprintf("&xpv_list[%d], %lu, 0x%x",
- $xpvsect->index, $sv->REFCNT + 1, $sv->FLAGS));
+ $xpvsect->index, $sv->REFCNT , $sv->FLAGS));
if (!$pv_copy_on_grow) {
$init->add(sprintf("xpv_list[%d].xpv_pv = savepvn(%s, %u);",
$xpvsect->index, cstring($pv), $len));
$xpvmgsect->add(sprintf("%s, %u, %u, %d, %s, 0, 0",
$pvsym, $len, $pvmax, $sv->IVX, $sv->NVX));
$svsect->add(sprintf("&xpvmg_list[%d], %lu, 0x%x",
- $xpvmgsect->index, $sv->REFCNT + 1, $sv->FLAGS));
+ $xpvmgsect->index, $sv->REFCNT , $sv->FLAGS));
if (!$pv_copy_on_grow) {
$init->add(sprintf("xpvmg_list[%d].xpv_pv = savepvn(%s, %u);",
$xpvmgsect->index, cstring($pv), $len));
$rv =~ s/^\([AGHS]V\s*\*\)\s*(\&sv_list.*)$/$1/;
$xrvsect->add($rv);
$svsect->add(sprintf("&xrv_list[%d], %lu, 0x%x",
- $xrvsect->index, $sv->REFCNT + 1, $sv->FLAGS));
+ $xrvsect->index, $sv->REFCNT , $sv->FLAGS));
return savesym($sv, sprintf("&sv_list[%d]", $svsect->index));
}
$$stash, $$cv) if $debug_cv;
}
$symsect->add(sprintf("svix%d\t(XPVCV*)&xpvcv_list[%u], %lu, 0x%x",
- $sv_ix, $xpvcv_ix, $cv->REFCNT + 1, $cv->FLAGS));
+ $sv_ix, $xpvcv_ix, $cv->REFCNT +1 , $cv->FLAGS));
return $sym;
}
$xpvavsect->add(sprintf("0, -1, -1, 0, 0.0, 0, Nullhv, 0, 0, 0x%x",
$avflags));
$svsect->add(sprintf("&xpvav_list[%d], %lu, 0x%x",
- $xpvavsect->index, $av->REFCNT + 1, $av->FLAGS));
+ $xpvavsect->index, $av->REFCNT , $av->FLAGS));
my $sv_list_index = $svsect->index;
my $fill = $av->FILL;
$av->save_magic;
$xpvhvsect->add(sprintf("0, 0, %d, 0, 0.0, 0, Nullhv, %d, 0, 0, 0",
$hv->MAX, $hv->RITER));
$svsect->add(sprintf("&xpvhv_list[%d], %lu, 0x%x",
- $xpvhvsect->index, $hv->REFCNT + 1, $hv->FLAGS));
+ $xpvhvsect->index, $hv->REFCNT , $hv->FLAGS));
my $sv_list_index = $svsect->index;
my @contents = $hv->ARRAY;
if (@contents) {
cstring($io->BOTTOM_NAME), $io->SUBPROCESS,
cchar($io->IoTYPE), $io->IoFLAGS));
$svsect->add(sprintf("&xpvio_list[%d], %lu, 0x%x",
- $xpviosect->index, $io->REFCNT + 1, $io->FLAGS));
+ $xpviosect->index, $io->REFCNT , $io->FLAGS));
$sym = savesym($io, sprintf("(IO*)&sv_list[%d]", $svsect->index));
my ($field, $fsym);
foreach $field (qw(TOP_GV FMT_GV BOTTOM_GV)) {
sub compile {
my $order = shift;
+ B::clearsym();
if ($order eq "exec") {
return sub { walkoptree_exec(main_start, "debug") }
} else {
sub compile {
my $order = shift;
my @options = @_;
+ B::clearsym();
if (@options) {
return sub {
my $objname;
if ($label) {
$label = " label ".cstring($label);
}
- print indent($level), peekop($op), $label, "\n";
+ print indent($level), peekop($op), $label || "", "\n";
}
sub B::PV::terse {
WriteMakefile(
NAME => "B",
VERSION => "a5",
- MAN3PODS => {},
+ PL_FILES => { 'defsubs_h.PL' => 'defsubs.h' },
+ MAN3PODS => {},
clean => {
FILES => "perl$e *$o B.c defsubs.h *~"
}
#!perl
my ($out) = __FILE__ =~ /(^.*)\.PL/;
if ($^O eq 'VMS') { ($out) = __FILE__ =~ /^(.+)_PL$/i; }
+$out =~ s/_h$/.h/;
open(OUT,">$out") || die "Cannot open $file:$!";
print "Extracting $out . . .\n";
foreach my $const (qw(AVf_REAL
T_OP_OBJ
if (SvROK($arg)) {
IV tmp = SvIV((SV*)SvRV($arg));
- $var = ($type) tmp;
+ $var = INT2PTR($type,tmp);
}
else
croak(\"$var is not a reference\")
T_SV_OBJ
if (SvROK($arg)) {
IV tmp = SvIV((SV*)SvRV($arg));
- $var = ($type) tmp;
+ $var = INT2PTR($type,tmp);
}
else
croak(\"$var is not a reference\")
T_MG_OBJ
if (SvROK($arg)) {
IV tmp = SvIV((SV*)SvRV($arg));
- $var = ($type) tmp;
+ $var = INT2PTR($type,tmp);
}
else
croak(\"$var is not a reference\")
OUTPUT
T_OP_OBJ
- sv_setiv(newSVrv($arg, cc_opclassname(aTHX_ (OP*)$var)), (IV)$var);
+ sv_setiv(newSVrv($arg, cc_opclassname(aTHX_ (OP*)$var)), PTR2IV($var));
T_SV_OBJ
make_sv_object(aTHX_ ($arg), (SV*)($var));
T_MG_OBJ
- sv_setiv(newSVrv($arg, "B::MAGIC"), (IV)$var);
+ sv_setiv(newSVrv($arg, "B::MAGIC"), PTR2IV($var));
BGET_U32(hi); \
BGET_U32(lo); \
if (sizeof(IV) == 8) \
- arg = (IV) (hi << (sizeof(IV)*4) | lo); \
+ arg = ((IV)hi << (sizeof(IV)*4) | (IV)lo); \
else if (((I32)hi == -1 && (I32)lo < 0) \
|| ((I32)hi == 0 && (I32)lo >= 0)) { \
arg = (I32)lo; \
OPt_COP /* 10 */
};
-#if defined(CYGWIN) || defined(VMS)
-extern
-#else
-EXT
-#endif
-void byterun(pTHXo_ struct bytestream bs);
+extern void byterun(pTHXo_ struct bytestream bs);
#define INIT_SPECIALSV_LIST STMT_START { \
PL_specialsv_list[0] = Nullsv; \
* Added a BOOT check to test for equivalent versions of db.h &
libdb.a/so.
+1.71 7th September 1999
+
+ * Fixed a bug that prevented 1.70 from compiling under win32
+
+ * Updated to support Berkeley DB 3.x
+
+ * Updated dbinfo for Berkeley DB 3.x file formats.
# DB_File.pm -- Perl 5 interface to Berkeley DB
#
# written by Paul Marquess (Paul.Marquess@btinternet.com)
-# last modified 4th August 1999
-# version 1.70
+# last modified 4th September 1999
+# version 1.71
#
# Copyright (c) 1995-1999 Paul Marquess. All rights reserved.
# This program is free software; you can redistribute it and/or
use Carp;
-$VERSION = "1.70" ;
+$VERSION = "1.71" ;
#typedef enum { DB_BTREE, DB_HASH, DB_RECNO } DBTYPE;
$DB_BTREE = new DB_File::BTREEINFO ;
B<DB_File> is a module which allows Perl programs to make use of the
facilities provided by Berkeley DB version 1.x (if you have a newer
-version of DB, see L<Using DB_File with Berkeley DB version 2>). It is
-assumed that you have a copy of the Berkeley DB manual pages at hand
-when reading this documentation. The interface defined here mirrors the
-Berkeley DB interface closely.
+version of DB, see L<Using DB_File with Berkeley DB version 2 or 3>).
+It is assumed that you have a copy of the Berkeley DB manual pages at
+hand when reading this documentation. The interface defined here
+mirrors the Berkeley DB interface closely.
Berkeley DB is a C library which provides a consistent interface to a
number of database formats. B<DB_File> provides an interface to all
=back
-=head2 Using DB_File with Berkeley DB version 2
+=head2 Using DB_File with Berkeley DB version 2 or 3
Although B<DB_File> is intended to be used with Berkeley DB version 1,
-it can also be used with version 2. In this case the interface is
+it can also be used with version 2.or 3 In this case the interface is
limited to the functionality provided by Berkeley DB 1.x. Anywhere the
-version 2 interface differs, B<DB_File> arranges for it to work like
-version 1. This feature allows B<DB_File> scripts that were built with
-version 1 to be migrated to version 2 without any changes.
+version 2 or 3 interface differs, B<DB_File> arranges for it to work
+like version 1. This feature allows B<DB_File> scripts that were built
+with version 1 to be migrated to version 2 or 3 without any changes.
If you want to make use of the new features available in Berkeley DB
-2.x, use the Perl module B<BerkeleyDB> instead.
+2.x or 3.x, use the Perl module B<BerkeleyDB> instead.
At the time of writing this document the B<BerkeleyDB> module is still
alpha quality (the version number is < 1.0), and so unsuitable for use
in any serious development work. Once its version number is >= 1.0, it
is considered stable enough for real work.
-B<Note:> The database file format has changed in Berkeley DB version 2.
-If you cannot recreate your databases, you must dump any existing
-databases with the C<db_dump185> utility that comes with Berkeley DB.
-Once you have rebuilt DB_File to use Berkeley DB version 2, your
+B<Note:> The database file format has changed in both Berkeley DB
+version 2 and 3. If you cannot recreate your databases, you must dump
+any existing databases with the C<db_dump185> utility that comes with
+Berkeley DB.
+Once you have rebuilt DB_File to use Berkeley DB version 2 or 3, your
databases can be recreated using C<db_load>. Refer to the Berkeley DB
documentation for further details.
-Please read L<"COPYRIGHT"> before using version 2.x of Berkeley DB with
-DB_File.
+Please read L<"COPYRIGHT"> before using version 2.x or 3.x of Berkeley
+DB with DB_File.
=head2 Interface to Berkeley DB
L<perlmod/CPAN> for details), in the directory
F<modules/by-module/DB_File>.
-This version of B<DB_File> will work with either version 1.x or 2.x of
-Berkeley DB, but is limited to the functionality provided by version 1.
+This version of B<DB_File> will work with either version 1.x, 2.x or
+3.x of Berkeley DB, but is limited to the functionality provided by
+version 1.
The official web site for Berkeley DB is F<http://www.sleepycat.com>.
-Both versions 1 and 2 of Berkeley DB are available there.
+All versions of Berkeley DB are available there.
Alternatively, Berkeley DB version 1 is available at your nearest CPAN
archive in F<src/misc/db.1.85.tar.gz>.
DB_File.xs -- Perl 5 interface to Berkeley DB
written by Paul Marquess <Paul.Marquess@btinternet.com>
- last modified 4th August 1999
- version 1.70
+ last modified 7th September 1999
+ version 1.71
All comments/suggestions/problems are welcome
GV_ADD|GV_ADDMULT -- bug spotted by Nick Ing-Simmons.
Added a BOOT check to test for equivalent versions of db.h &
libdb.a/so.
+ 1.71 - Support for Berkeley DB version 3.
+ Support for Berkeley DB 2/3's backward compatability mode.
+ Rewrote push
*/
#ifdef op
# undef op
#endif
-#include <db.h>
+
+#ifdef COMPAT185
+# include <db_185.h>
+#else
+# include <db.h>
+#endif
#ifndef pTHX
# define pTHX
/* #define TRACE */
#define DBM_FILTERING
+#ifdef TRACE
+# define Trace(x) printf x
+#else
+# define Trace(x)
+#endif
+
+#define DBT_clear(x) Zero(&x, 1, DBT) ;
#ifdef DB_VERSION_MAJOR
+#if DB_VERSION_MAJOR == 2
+# define BERKELEY_DB_1_OR_2
+#endif
+
/* map version 2 features & constants onto their version 1 equivalent */
#ifdef DB_Prefix_t
/* DBTYPE stays the same */
/* HASHINFO, RECNOINFO and BTREEINFO map to DB_INFO */
-typedef DB_INFO INFO ;
+#if DB_VERSION_MAJOR == 2
+ typedef DB_INFO INFO ;
+#else /* DB_VERSION_MAJOR > 2 */
+# define DB_FIXEDLEN (0x8000)
+#endif /* DB_VERSION_MAJOR == 2 */
/* version 2 has db_recno_t in place of recno_t */
typedef db_recno_t recno_t;
#define R_NEXT DB_NEXT
#define R_NOOVERWRITE DB_NOOVERWRITE
#define R_PREV DB_PREV
+
#if DB_VERSION_MAJOR == 2 && DB_VERSION_MINOR < 5
-#define R_SETCURSOR 0x800000
+# define R_SETCURSOR 0x800000
#else
-#define R_SETCURSOR (-100)
+# define R_SETCURSOR (-100)
#endif
+
#define R_RECNOSYNC 0
#define R_FIXEDLEN DB_FIXEDLEN
#define R_DUP DB_DUP
+
#define db_HA_hash h_hash
#define db_HA_ffactor h_ffactor
#define db_HA_nelem h_nelem
#define DB_flags(x, v) x |= v
#if DB_VERSION_MAJOR == 2 && DB_VERSION_MINOR < 5
-#define flagSet(flags, bitmask) ((flags) & (bitmask))
+# define flagSet(flags, bitmask) ((flags) & (bitmask))
#else
-#define flagSet(flags, bitmask) (((flags) & DB_OPFLAGS_MASK) == (bitmask))
+# define flagSet(flags, bitmask) (((flags) & DB_OPFLAGS_MASK) == (bitmask))
#endif
#else /* db version 1.x */
+#define BERKELEY_DB_1_OR_2
+
typedef union INFO {
HASHINFO hash ;
RECNOINFO recno ;
#ifdef mDB_Prefix_t
-#ifdef DB_Prefix_t
-#undef DB_Prefix_t
-#endif
-#define DB_Prefix_t mDB_Prefix_t
+# ifdef DB_Prefix_t
+# undef DB_Prefix_t
+# endif
+# define DB_Prefix_t mDB_Prefix_t
#endif
#ifdef mDB_Hash_t
-#ifdef DB_Hash_t
-#undef DB_Hash_t
-#endif
-#define DB_Hash_t mDB_Hash_t
+# ifdef DB_Hash_t
+# undef DB_Hash_t
+# endif
+# define DB_Hash_t mDB_Hash_t
#endif
#define db_HA_hash hash.hash
#ifdef DB_VERSION_MAJOR
#define db_DESTROY(db) ( db->cursor->c_close(db->cursor),\
- db->dbp->close(db->dbp, 0) )
+ (db->dbp->close)(db->dbp, 0) )
#define db_close(db) ((db->dbp)->close)(db->dbp, 0)
#define db_del(db, key, flags) (flagSet(flags, R_CURSOR) \
? ((db->cursor)->c_del)(db->cursor, 0) \
: ((db->dbp)->del)(db->dbp, NULL, &key, flags) )
-#else
+#else /* ! DB_VERSION_MAJOR */
#define db_DESTROY(db) ((db->dbp)->close)(db->dbp)
#define db_close(db) ((db->dbp)->close)(db->dbp)
#define db_del(db, key, flags) ((db->dbp)->del)(db->dbp, &key, flags)
#define db_put(db, key, value, flags) ((db->dbp)->put)(db->dbp, &key, &value, flags)
-#endif
+#endif /* ! DB_VERSION_MAJOR */
#define db_seq(db, key, value, flags) do_SEQ(db, key, value, flags)
SV * prefix ;
SV * hash ;
int in_memory ;
+#ifdef BERKELEY_DB_1_OR_2
INFO info ;
+#endif
#ifdef DB_VERSION_MAJOR
DBC * cursor ;
#endif
#endif /* DB_VERSION_MAJOR */
-static void
-GetVersionInfo(pTHX)
-{
- SV * version_sv = perl_get_sv("DB_File::db_version", GV_ADD|GV_ADDMULTI) ;
- SV * ver_sv = perl_get_sv("DB_File::db_ver", GV_ADD|GV_ADDMULTI) ;
-#ifdef DB_VERSION_MAJOR
- int Major, Minor, Patch ;
-
- (void)db_version(&Major, &Minor, &Patch) ;
-
- /* Check that the versions of db.h and libdb.a are the same */
- if (Major != DB_VERSION_MAJOR || Minor != DB_VERSION_MINOR
- || Patch != DB_VERSION_PATCH)
- croak("\nDB_File needs compatible versions of libdb & db.h\n\tyou have db.h version %d.%d.%d and libdb version %d.%d.%d\n",
- DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH,
- Major, Minor, Patch) ;
-
- /* check that libdb is recent enough -- we need 2.3.4 or greater */
- if (Major == 2 && (Minor < 3 || (Minor == 3 && Patch < 4)))
- croak("DB_File needs Berkeley DB 2.3.4 or greater, you have %d.%d.%d\n",
- Major, Minor, Patch) ;
-
-#if PERL_VERSION > 3
- sv_setpvf(version_sv, "%d.%d", Major, Minor) ;
- sv_setpvf(ver_sv, "%d.%03d%03d", Major, Minor, Patch) ;
-#else
- {
- char buffer[40] ;
- sprintf(buffer, "%d.%d", Major, Minor) ;
- sv_setpv(version_sv, buffer) ;
- sprintf(buffer, "%d.%03d%03d", Major, Minor, Patch) ;
- sv_setpv(ver_sv, buffer) ;
- }
-#endif
-
-#else
- sv_setiv(version_sv, 1) ;
- sv_setiv(ver_sv, 1) ;
-#endif
-
-}
-
static int
#ifdef CAN_PROTOTYPE
}
-#ifdef TRACE
+#if defined(TRACE) && defined(BERKELEY_DB_1_OR_2)
static void
#ifdef CAN_PROTOTYPE
DBT value ;
int RETVAL ;
- DBT_flags(key) ;
- DBT_flags(value) ;
+ DBT_clear(key) ;
+ DBT_clear(value) ;
RETVAL = do_SEQ(db, key, value, R_LAST) ;
if (RETVAL == 0)
RETVAL = *(I32 *)key.data ;
return value ;
}
+
static DB_File
#ifdef CAN_PROTOTYPE
ParseOpenInfo(pTHX_ int isHASH, char *name, int flags, int mode, SV *sv)
SV * sv ;
#endif
{
+
+#ifdef BERKELEY_DB_1_OR_2 /* Berkeley DB Version 1 or 2 */
+
SV ** svp;
HV * action ;
DB_File RETVAL = (DB_File)safemalloc(sizeof(DB_File_type)) ;
}
#else
+
+#if defined(DB_LIBRARY_COMPATIBILITY_API) && DB_VERSION_MAJOR > 2
+ RETVAL->dbp = __db185_open(name, flags, mode, RETVAL->type, openinfo) ;
+#else
RETVAL->dbp = dbopen(name, flags, mode, RETVAL->type, openinfo) ;
+#endif /* DB_LIBRARY_COMPATIBILITY_API */
+
#endif
return (RETVAL) ;
-}
+
+#else /* Berkeley DB Version > 2 */
+
+ SV ** svp;
+ HV * action ;
+ DB_File RETVAL = (DB_File)safemalloc(sizeof(DB_File_type)) ;
+ DB * dbp ;
+ STRLEN n_a;
+ int status ;
+
+/* printf("In ParseOpenInfo name=[%s] flags=[%d] mode = [%d]\n", name, flags, mode) ; */
+ Zero(RETVAL, 1, DB_File_type) ;
+
+ /* Default to HASH */
+#ifdef DBM_FILTERING
+ RETVAL->filtering = 0 ;
+ RETVAL->filter_fetch_key = RETVAL->filter_store_key =
+ RETVAL->filter_fetch_value = RETVAL->filter_store_value =
+#endif /* DBM_FILTERING */
+ RETVAL->hash = RETVAL->compare = RETVAL->prefix = NULL ;
+ RETVAL->type = DB_HASH ;
+
+ /* DGH - Next line added to avoid SEGV on existing hash DB */
+ CurrentDB = RETVAL;
+
+ /* fd for 1.86 hash in memory files doesn't return -1 like 1.85 */
+ RETVAL->in_memory = (name == NULL) ;
+
+ status = db_create(&RETVAL->dbp, NULL,0) ;
+ /* printf("db_create returned %d %s\n", status, db_strerror(status)) ; */
+ if (status) {
+ RETVAL->dbp = NULL ;
+ return (RETVAL) ;
+ }
+ dbp = RETVAL->dbp ;
+
+ if (sv)
+ {
+ if (! SvROK(sv) )
+ croak ("type parameter is not a reference") ;
+
+ svp = hv_fetch( (HV*)SvRV(sv), "GOT", 3, FALSE) ;
+ if (svp && SvOK(*svp))
+ action = (HV*) SvRV(*svp) ;
+ else
+ croak("internal error") ;
+
+ if (sv_isa(sv, "DB_File::HASHINFO"))
+ {
+
+ if (!isHASH)
+ croak("DB_File can only tie an associative array to a DB_HASH database") ;
+
+ RETVAL->type = DB_HASH ;
+
+ svp = hv_fetch(action, "hash", 4, FALSE);
+
+ if (svp && SvOK(*svp))
+ {
+ (void)dbp->set_h_hash(dbp, hash_cb) ;
+ RETVAL->hash = newSVsv(*svp) ;
+ }
+
+ svp = hv_fetch(action, "ffactor", 7, FALSE);
+ if (svp)
+ (void)dbp->set_h_ffactor(dbp, SvIV(*svp)) ;
+
+ svp = hv_fetch(action, "nelem", 5, FALSE);
+ if (svp)
+ (void)dbp->set_h_nelem(dbp, SvIV(*svp)) ;
+
+ svp = hv_fetch(action, "bsize", 5, FALSE);
+ if (svp)
+ (void)dbp->set_pagesize(dbp, SvIV(*svp));
+
+ svp = hv_fetch(action, "cachesize", 9, FALSE);
+ if (svp)
+ (void)dbp->set_cachesize(dbp, 0, SvIV(*svp), 0) ;
+
+ svp = hv_fetch(action, "lorder", 6, FALSE);
+ if (svp)
+ (void)dbp->set_lorder(dbp, SvIV(*svp)) ;
+
+ PrintHash(info) ;
+ }
+ else if (sv_isa(sv, "DB_File::BTREEINFO"))
+ {
+ if (!isHASH)
+ croak("DB_File can only tie an associative array to a DB_BTREE database");
+
+ RETVAL->type = DB_BTREE ;
+
+ svp = hv_fetch(action, "compare", 7, FALSE);
+ if (svp && SvOK(*svp))
+ {
+ (void)dbp->set_bt_compare(dbp, btree_compare) ;
+ RETVAL->compare = newSVsv(*svp) ;
+ }
+
+ svp = hv_fetch(action, "prefix", 6, FALSE);
+ if (svp && SvOK(*svp))
+ {
+ (void)dbp->set_bt_prefix(dbp, btree_prefix) ;
+ RETVAL->prefix = newSVsv(*svp) ;
+ }
+
+ svp = hv_fetch(action, "flags", 5, FALSE);
+ if (svp)
+ (void)dbp->set_flags(dbp, SvIV(*svp)) ;
+
+ svp = hv_fetch(action, "cachesize", 9, FALSE);
+ if (svp)
+ (void)dbp->set_cachesize(dbp, 0, SvIV(*svp), 0) ;
+
+ svp = hv_fetch(action, "psize", 5, FALSE);
+ if (svp)
+ (void)dbp->set_pagesize(dbp, SvIV(*svp)) ;
+
+ svp = hv_fetch(action, "lorder", 6, FALSE);
+ if (svp)
+ (void)dbp->set_lorder(dbp, SvIV(*svp)) ;
+
+ PrintBtree(info) ;
+
+ }
+ else if (sv_isa(sv, "DB_File::RECNOINFO"))
+ {
+ int fixed = FALSE ;
+
+ if (isHASH)
+ croak("DB_File can only tie an array to a DB_RECNO database");
+
+ RETVAL->type = DB_RECNO ;
+
+ svp = hv_fetch(action, "flags", 5, FALSE);
+ if (svp) {
+ int flags = SvIV(*svp) ;
+ /* remove FIXDLEN, if present */
+ if (flags & DB_FIXEDLEN) {
+ fixed = TRUE ;
+ flags &= ~DB_FIXEDLEN ;
+ }
+ }
+
+ svp = hv_fetch(action, "cachesize", 9, FALSE);
+ if (svp) {
+ status = dbp->set_cachesize(dbp, 0, SvIV(*svp), 0) ;
+ }
+
+ svp = hv_fetch(action, "psize", 5, FALSE);
+ if (svp) {
+ status = dbp->set_pagesize(dbp, SvIV(*svp)) ;
+ }
+
+ svp = hv_fetch(action, "lorder", 6, FALSE);
+ if (svp) {
+ status = dbp->set_lorder(dbp, SvIV(*svp)) ;
+ }
+
+ svp = hv_fetch(action, "bval", 4, FALSE);
+ if (svp && SvOK(*svp))
+ {
+ int value ;
+ if (SvPOK(*svp))
+ value = (int)*SvPV(*svp, n_a) ;
+ else
+ value = SvIV(*svp) ;
+
+ if (fixed) {
+ status = dbp->set_re_pad(dbp, value) ;
+ }
+ else {
+ status = dbp->set_re_delim(dbp, value) ;
+ }
+
+ }
+
+ if (fixed) {
+ svp = hv_fetch(action, "reclen", 6, FALSE);
+ if (svp) {
+ u_int32_t len = (u_int32_t)SvIV(*svp) ;
+ status = dbp->set_re_len(dbp, len) ;
+ }
+ }
+
+ if (name != NULL) {
+ status = dbp->set_re_source(dbp, name) ;
+ name = NULL ;
+ }
+
+ svp = hv_fetch(action, "bfname", 6, FALSE);
+ if (svp && SvOK(*svp)) {
+ char * ptr = SvPV(*svp,n_a) ;
+ name = (char*) n_a ? ptr : NULL ;
+ }
+ else
+ name = NULL ;
+
+
+ status = dbp->set_flags(dbp, DB_RENUMBER) ;
+
+ if (flags){
+ (void)dbp->set_flags(dbp, flags) ;
+ }
+ PrintRecno(info) ;
+ }
+ else
+ croak("type is not of type DB_File::HASHINFO, DB_File::BTREEINFO or DB_File::RECNOINFO");
+ }
+
+ {
+ int Flags = 0 ;
+ int status ;
+
+ /* Map 1.x flags to 3.x flags */
+ if ((flags & O_CREAT) == O_CREAT)
+ Flags |= DB_CREATE ;
+
+#if O_RDONLY == 0
+ if (flags == O_RDONLY)
+#else
+ if ((flags & O_RDONLY) == O_RDONLY && (flags & O_RDWR) != O_RDWR)
+#endif
+ Flags |= DB_RDONLY ;
+
+#ifdef O_TRUNC
+ if ((flags & O_TRUNC) == O_TRUNC)
+ Flags |= DB_TRUNCATE ;
+#endif
+
+ status = RETVAL->dbp->open(RETVAL->dbp, name, NULL, RETVAL->type,
+ Flags, mode) ;
+ /* printf("open returned %d %s\n", status, db_strerror(status)) ; */
+
+ if (status == 0)
+ status = (RETVAL->dbp->cursor)(RETVAL->dbp, NULL, &RETVAL->cursor,
+ 0) ;
+ /* printf("cursor returned %d %s\n", status, db_strerror(status)) ; */
+
+ if (status)
+ RETVAL->dbp = NULL ;
+
+ }
+
+ return (RETVAL) ;
+
+#endif /* Berkeley DB Version > 2 */
+
+} /* ParseOpenInfo */
static double
BOOT:
{
- GetVersionInfo(aTHX) ;
+ __getBerkeleyDBInfo() ;
+ DBT_clear(empty) ;
empty.data = &zero ;
empty.size = sizeof(recno_t) ;
- DBT_flags(empty) ;
}
double
{
DBT value ;
- DBT_flags(value) ;
+ DBT_clear(value) ;
CurrentDB = db ;
RETVAL = (((db->dbp)->get)(db->dbp, TXN &key, &value, 0) == 0) ;
}
{
DBT value ;
- DBT_flags(value) ;
+ DBT_clear(value) ;
CurrentDB = db ;
/* RETVAL = ((db->dbp)->get)(db->dbp, TXN &key, &value, flags) ; */
RETVAL = db_get(db, key, value, flags) ;
DBTKEY key ;
DBT value ;
- DBT_flags(key) ;
- DBT_flags(value) ;
+ DBT_clear(key) ;
+ DBT_clear(value) ;
CurrentDB = db ;
RETVAL = do_SEQ(db, key, value, R_FIRST) ;
ST(0) = sv_newmortal();
{
DBT value ;
- DBT_flags(value) ;
+ DBT_clear(value) ;
CurrentDB = db ;
RETVAL = do_SEQ(db, key, value, R_NEXT) ;
ST(0) = sv_newmortal();
DB * Db = db->dbp ;
STRLEN n_a;
- DBT_flags(key) ;
- DBT_flags(value) ;
+ DBT_clear(key) ;
+ DBT_clear(value) ;
CurrentDB = db ;
#ifdef DB_VERSION_MAJOR
/* get the first value */
DBTKEY key ;
DBT value ;
- DBT_flags(key) ;
- DBT_flags(value) ;
+ DBT_clear(key) ;
+ DBT_clear(value) ;
CurrentDB = db ;
/* First get the final value */
DBT value ;
DBTKEY key ;
- DBT_flags(key) ;
- DBT_flags(value) ;
+ DBT_clear(key) ;
+ DBT_clear(value) ;
CurrentDB = db ;
/* get the first value */
RETVAL = do_SEQ(db, key, value, R_FIRST) ;
DB * Db = db->dbp ;
int i ;
STRLEN n_a;
+ int keyval ;
DBT_flags(key) ;
DBT_flags(value) ;
CurrentDB = db ;
-#ifdef DB_VERSION_MAJOR
- RETVAL = do_SEQ(db, key, value, DB_LAST) ;
- RETVAL = 0 ;
- key = empty ;
- for (i = 1 ; i < items ; ++i)
- {
- value.data = SvPV(ST(i), n_a) ;
- value.size = n_a ;
- RETVAL = (Db->put)(Db, NULL, &key, &value, DB_APPEND) ;
- if (RETVAL != 0)
- break;
- }
-#else
-
/* Set the Cursor to the Last element */
RETVAL = do_SEQ(db, key, value, R_LAST) ;
+#ifndef DB_VERSION_MAJOR
if (RETVAL >= 0)
+#endif
{
- if (RETVAL == 1)
- key = empty ;
- for (i = items - 1 ; i > 0 ; --i)
+ if (RETVAL == 0)
+ keyval = *(int*)key.data ;
+ else
+ keyval = 0 ;
+ for (i = 1 ; i < items ; ++i)
{
value.data = SvPV(ST(i), n_a) ;
value.size = n_a ;
- RETVAL = (Db->put)(Db, &key, &value, R_IAFTER) ;
+ ++ keyval ;
+ key.data = &keyval ;
+ key.size = sizeof(int) ;
+ RETVAL = (Db->put)(Db, TXN &key, &value, 0) ;
if (RETVAL != 0)
break;
}
}
-#endif
}
OUTPUT:
RETVAL
-
I32
length(db)
DB_File db
u_int flags
CODE:
CurrentDB = db ;
- DBT_flags(value) ;
+ DBT_clear(value) ;
RETVAL = db_get(db, key, value, flags) ;
#ifdef DB_VERSION_MAJOR
if (RETVAL > 0)
u_int flags
CODE:
CurrentDB = db ;
- DBT_flags(value) ;
+ DBT_clear(value) ;
RETVAL = db_seq(db, key, value, flags);
#ifdef DB_VERSION_MAJOR
if (RETVAL > 0)
MAN3PODS => {}, # Pods will be built by installman.
#INC => '-I/usr/local/include',
VERSION_FROM => 'DB_File.pm',
+ OBJECT => 'version$(OBJ_EXT) DB_File$(OBJ_EXT)',
XSPROTOARG => '-noprototypes',
DEFINE => "$OS2",
);
+sub MY::postamble {
+ '
+version$(OBJ_EXT): version.c
+
+' ;
+}
+
# a database file
#
# Author: Paul Marquess <Paul.Marquess@btinternet.com>
-# Version: 1.01
-# Date 16th April 1998
+# Version: 1.02
+# Date 20th August 1999
#
# Copyright (c) 1998 Paul Marquess. All rights reserved.
# This program is free software; you can redistribute it and/or
my %Data =
(
0x053162 => {
- Type => "Btree",
+ Type => "Btree",
Versions =>
{
1 => "Unknown (older than 1.71)",
3 => "1.71 -> 1.85, 1.86",
4 => "Unknown",
5 => "2.0.0 -> 2.3.0",
- 6 => "2.3.1 or greater",
+ 6 => "2.3.1 -> 2.7.7",
+ 7 => "3.0.0 or greater",
}
},
0x061561 => {
- Type => "Hash",
+ Type => "Hash",
Versions =>
{
1 => "Unknown (older than 1.71)",
2 => "1.71 -> 1.85",
3 => "1.86",
4 => "2.0.0 -> 2.1.0",
- 5 => "2.2.6 or greater",
+ 5 => "2.2.6 -> 2.7.7",
+ 6 => "3.0.0 or greater",
+ }
+ },
+ 0x042253 => {
+ Type => "Queue",
+ Versions =>
+ {
+ 1 => "3.0.0 or greater",
}
},
) ;
# typemap for Perl 5 interface to Berkeley
#
# written by Paul Marquess <Paul.Marquess@btinternet.com>
-# last modified 6th June 1999
-# version 1.67
+# last modified 7th September 1999
+# version 1.71
#
#################################### DB SECTION
#
INPUT
T_dbtkeydatum
ckFilter($arg, filter_store_key, \"filter_store_key\");
+ DBT_clear($var) ;
if (db->type != DB_RECNO) {
$var.data = SvPV($arg, PL_na);
$var.size = (int)PL_na;
- DBT_flags($var);
}
else {
Value = GetRecnoKey(aTHX_ db, SvIV($arg)) ;
$var.data = & Value;
$var.size = (int)sizeof(recno_t);
- DBT_flags($var);
}
T_dbtdatum
ckFilter($arg, filter_store_value, \"filter_store_value\");
+ DBT_clear($var) ;
$var.data = SvPV($arg, PL_na);
$var.size = (int)PL_na;
- DBT_flags($var);
OUTPUT
--- /dev/null
+/*
+
+ version.c -- Perl 5 interface to Berkeley DB
+
+ written by Paul Marquess <Paul.Marquess@btinternet.com>
+ last modified 7th September 1999
+ version 1.71
+
+ All comments/suggestions/problems are welcome
+
+ Copyright (c) 1995-9 Paul Marquess. All rights reserved.
+ This program is free software; you can redistribute it and/or
+ modify it under the same terms as Perl itself.
+
+ Changes:
+ 1.71 - Support for Berkeley DB version 3.
+ Support for Berkeley DB 2/3's backward compatability mode.
+
+*/
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#include <db.h>
+
+void
+__getBerkeleyDBInfo()
+{
+ SV * version_sv = perl_get_sv("DB_File::db_version", GV_ADD|GV_ADDMULTI) ;
+ SV * ver_sv = perl_get_sv("DB_File::db_ver", GV_ADD|GV_ADDMULTI) ;
+ SV * compat_sv = perl_get_sv("DB_File::db_185_compat", GV_ADD|GV_ADDMULTI) ;
+
+#ifdef DB_VERSION_MAJOR
+ int Major, Minor, Patch ;
+
+ (void)db_version(&Major, &Minor, &Patch) ;
+
+ /* Check that the versions of db.h and libdb.a are the same */
+ if (Major != DB_VERSION_MAJOR || Minor != DB_VERSION_MINOR
+ || Patch != DB_VERSION_PATCH)
+ croak("\nDB_File needs compatible versions of libdb & db.h\n\tyou have db.h version %d.%d.%d and libdb version %d.%d.%d\n",
+ DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH,
+ Major, Minor, Patch) ;
+
+ /* check that libdb is recent enough -- we need 2.3.4 or greater */
+ if (Major == 2 && (Minor < 3 || (Minor == 3 && Patch < 4)))
+ croak("DB_File needs Berkeley DB 2.3.4 or greater, you have %d.%d.%d\n",
+ Major, Minor, Patch) ;
+
+ {
+ char buffer[40] ;
+ sprintf(buffer, "%d.%d", Major, Minor) ;
+ sv_setpv(version_sv, buffer) ;
+ sprintf(buffer, "%d.%03d%03d", Major, Minor, Patch) ;
+ sv_setpv(ver_sv, buffer) ;
+ }
+
+#else /* ! DB_VERSION_MAJOR */
+ sv_setiv(version_sv, 1) ;
+ sv_setiv(ver_sv, 1) ;
+#endif /* ! DB_VERSION_MAJOR */
+
+#ifdef COMPAT185
+ sv_setiv(compat_sv, 1) ;
+#else /* ! COMPAT185 */
+ sv_setiv(compat_sv, 0) ;
+#endif /* ! COMPAT185 */
+
+}
=over 8
+=item 2.11 (unreleased)
+
+C<0> is now dumped as such, not as C<'0'>.
+
+qr// objects are now dumped correctly (provided a post-5.005_58)
+overload.pm exists).
+
+Implemented $Data::Dumper::Maxdepth, which was on the Todo list.
+Thanks to John Nolan <jpnolan@Op.Net>.
+
+=item 2.101 (30 Apr 1999)
+
+Minor release to sync with version in 5.005_03. Fixes dump of
+dummy coderefs.
+
=item 2.10 (31 Oct 1998)
Bugfixes for dumping related undef values, globs, and better double
#$| = 1;
-require 5.004;
+require 5.004_02;
require Exporter;
require DynaLoader;
require overload;
$Quotekeys = 1 unless defined $Quotekeys;
$Bless = "bless" unless defined $Bless;
#$Expdepth = 0 unless defined $Expdepth;
-#$Maxdepth = 0 unless defined $Maxdepth;
+$Maxdepth = 0 unless defined $Maxdepth;
#
# expects an arrayref of values to be dumped.
quotekeys => $Quotekeys, # quote hash keys
'bless' => $Bless, # keyword to use for "bless"
# expdepth => $Expdepth, # cutoff depth for explicit dumping
-# maxdepth => $Maxdepth, # depth beyond which we give up
+ maxdepth => $Maxdepth, # depth beyond which we give up
};
if ($Indent > 0) {
if ($type) {
# prep it, if it looks like an object
- if ($type =~ /[a-z_:]/) {
- my $freezer = $s->{freezer};
- $val->$freezer() if $freezer && UNIVERSAL::can($val, $freezer);
+ if (my $freezer = $s->{freezer}) {
+ $val->$freezer() if UNIVERSAL::can($val, $freezer);
}
($realpack, $realtype, $id) =
(overload::StrVal($val) =~ /^(?:(.*)\=)?([^=]*)\(([^\(]*)\)$/);
-
+
# if it has a name, we need to either look it up, or keep a tab
# on it so we know when we hit it later
if (defined($name) and length($name)) {
}
}
- if ($realpack) {
- if ($realpack eq 'Regexp') {
+ if ($realpack and $realpack eq 'Regexp') {
$out = "$val";
$out =~ s,/,\\/,g;
return "qr/$out/";
- }
- else { # we have a blessed ref
- $out = $s->{'bless'} . '( ';
- $blesspad = $s->{apad};
- $s->{apad} .= ' ' if ($s->{indent} >= 2);
- }
+ }
+
+ # If purity is not set and maxdepth is set, then check depth:
+ # if we have reached maximum depth, return the string
+ # representation of the thing we are currently examining
+ # at this depth (i.e., 'Foo=ARRAY(0xdeadbeef)').
+ if (!$s->{purity}
+ and $s->{maxdepth} > 0
+ and $s->{level} >= $s->{maxdepth})
+ {
+ return qq['$val'];
+ }
+
+ # we have a blessed ref
+ if ($realpack) {
+ $out = $s->{'bless'} . '( ';
+ $blesspad = $s->{apad};
+ $s->{apad} .= ' ' if ($s->{indent} >= 2);
}
$s->{level}++;
defined($v) ? (($s->{'bless'} = $v), return $s) : $s->{'bless'};
}
+sub Maxdepth {
+ my($s, $v) = @_;
+ defined($v) ? (($s->{'maxdepth'} = $v), return $s) : $s->{'maxdepth'};
+}
+
+
# used by qquote below
my %esc = (
"\a" => "\\a",
name should exist, and should accept the same arguments as the builtin.
Default is C<bless>.
+=item $Data::Dumper::Maxdepth I<or> $I<OBJ>->Maxdepth(I<[NEWVAL]>)
+
+Can be set to a positive integer that specifies the depth beyond which
+which we don't venture into a structure. Has no effect when
+C<Data::Dumper::Purity> is set. (Useful in debugger when we often don't
+want to see more than enough). Default is 0, which means there is
+no maximum depth.
+
=back
=head2 Exports
$Data::Dumper::Purity = 0; # avoid cross-refs
print Data::Dumper->Dump([$b, $a], [qw(*b a)]);
+ ########
+ # deep structures
+ ########
+
+ $a = "pearl";
+ $b = [ $a ];
+ $c = { 'b' => $b };
+ $d = [ $c ];
+ $e = { 'd' => $d };
+ $f = { 'e' => $e };
+ print Data::Dumper->Dump([$f], [qw(f)]);
+
+ $Data::Dumper::Maxdepth = 3; # no deeper than 3 refs down
+ print Data::Dumper->Dump([$f], [qw(f)]);
+
########
# object-oriented usage
=head1 VERSION
-Version 2.10 (31 Oct 1998)
+Version 2.11 (unreleased)
=head1 SEE ALSO
HV *seenhv, AV *postav, I32 *levelp, I32 indent,
SV *pad, SV *xpad, SV *apad, SV *sep,
SV *freezer, SV *toaster,
- I32 purity, I32 deepcopy, I32 quotekeys, SV *bless);
+ I32 purity, I32 deepcopy, I32 quotekeys, SV *bless,
+ I32 maxdepth);
/* does a string need to be protected? */
static I32
DD_dump(pTHX_ SV *val, char *name, STRLEN namelen, SV *retval, HV *seenhv,
AV *postav, I32 *levelp, I32 indent, SV *pad, SV *xpad,
SV *apad, SV *sep, SV *freezer, SV *toaster, I32 purity,
- I32 deepcopy, I32 quotekeys, SV *bless)
+ I32 deepcopy, I32 quotekeys, SV *bless, I32 maxdepth)
{
char tmpbuf[128];
U32 i;
}
}
- if (realpack) {
- if (*realpack == 'R' && strEQ(realpack, "Regexp")) {
- STRLEN rlen;
- char *rval = SvPV(val, rlen);
- char *slash = strchr(rval, '/');
- sv_catpvn(retval, "qr/", 3);
- while (slash) {
- sv_catpvn(retval, rval, slash-rval);
- sv_catpvn(retval, "\\/", 2);
- rlen -= slash-rval+1;
- rval = slash+1;
- slash = strchr(rval, '/');
- }
- sv_catpvn(retval, rval, rlen);
- sv_catpvn(retval, "/", 1);
- return 1;
+ if (realpack && *realpack == 'R' && strEQ(realpack, "Regexp")) {
+ STRLEN rlen;
+ char *rval = SvPV(val, rlen);
+ char *slash = strchr(rval, '/');
+ sv_catpvn(retval, "qr/", 3);
+ while (slash) {
+ sv_catpvn(retval, rval, slash-rval);
+ sv_catpvn(retval, "\\/", 2);
+ rlen -= slash-rval+1;
+ rval = slash+1;
+ slash = strchr(rval, '/');
}
- else { /* we have a blessed ref */
- STRLEN blesslen;
- char *blessstr = SvPV(bless, blesslen);
- sv_catpvn(retval, blessstr, blesslen);
- sv_catpvn(retval, "( ", 2);
- if (indent >= 2) {
- blesspad = apad;
- apad = newSVsv(apad);
- sv_x(aTHX_ apad, " ", 1, blesslen+2);
- }
+ sv_catpvn(retval, rval, rlen);
+ sv_catpvn(retval, "/", 1);
+ return 1;
+ }
+
+ /* If purity is not set and maxdepth is set, then check depth:
+ * if we have reached maximum depth, return the string
+ * representation of the thing we are currently examining
+ * at this depth (i.e., 'Foo=ARRAY(0xdeadbeef)').
+ */
+ if (!purity && maxdepth > 0 && *levelp >= maxdepth) {
+ STRLEN vallen;
+ char *valstr = SvPV(val,vallen);
+ sv_catpvn(retval, "'", 1);
+ sv_catpvn(retval, valstr, vallen);
+ sv_catpvn(retval, "'", 1);
+ return 1;
+ }
+
+ if (realpack) { /* we have a blessed ref */
+ STRLEN blesslen;
+ char *blessstr = SvPV(bless, blesslen);
+ sv_catpvn(retval, blessstr, blesslen);
+ sv_catpvn(retval, "( ", 2);
+ if (indent >= 2) {
+ blesspad = apad;
+ apad = newSVsv(apad);
+ sv_x(aTHX_ apad, " ", 1, blesslen+2);
}
}
sv_catpvn(retval, "do{\\(my $o = ", 13);
DD_dump(aTHX_ ival, SvPVX(namesv), SvCUR(namesv), retval, seenhv,
postav, levelp, indent, pad, xpad, apad, sep,
- freezer, toaster, purity, deepcopy, quotekeys, bless);
+ freezer, toaster, purity, deepcopy, quotekeys, bless,
+ maxdepth);
sv_catpvn(retval, ")}", 2);
} /* plain */
else {
sv_catpvn(retval, "\\", 1);
DD_dump(aTHX_ ival, SvPVX(namesv), SvCUR(namesv), retval, seenhv,
postav, levelp, indent, pad, xpad, apad, sep,
- freezer, toaster, purity, deepcopy, quotekeys, bless);
+ freezer, toaster, purity, deepcopy, quotekeys, bless,
+ maxdepth);
}
SvREFCNT_dec(namesv);
}
sv_catpvn(retval, "\\", 1);
DD_dump(aTHX_ ival, SvPVX(namesv), SvCUR(namesv), retval, seenhv,
postav, levelp, indent, pad, xpad, apad, sep,
- freezer, toaster, purity, deepcopy, quotekeys, bless);
+ freezer, toaster, purity, deepcopy, quotekeys, bless,
+ maxdepth);
SvREFCNT_dec(namesv);
}
else if (realtype == SVt_PVAV) {
sv_catsv(retval, ipad);
DD_dump(aTHX_ elem, iname, ilen, retval, seenhv, postav,
levelp, indent, pad, xpad, apad, sep,
- freezer, toaster, purity, deepcopy, quotekeys, bless);
+ freezer, toaster, purity, deepcopy, quotekeys, bless,
+ maxdepth);
if (ix < ixmax)
sv_catpvn(retval, ",", 1);
}
DD_dump(aTHX_ hval, SvPVX(sname), SvCUR(sname), retval, seenhv,
postav, levelp, indent, pad, xpad, newapad, sep,
- freezer, toaster, purity, deepcopy, quotekeys, bless);
+ freezer, toaster, purity, deepcopy, quotekeys, bless,
+ maxdepth);
SvREFCNT_dec(sname);
Safefree(nkey);
if (indent >= 2)
DD_dump(aTHX_ e, SvPVX(nname), SvCUR(nname), postentry,
seenhv, postav, &nlevel, indent, pad, xpad,
newapad, sep, freezer, toaster, purity,
- deepcopy, quotekeys, bless);
+ deepcopy, quotekeys, bless, maxdepth);
SvREFCNT_dec(e);
}
}
SV **svp;
SV *val, *name, *pad, *xpad, *apad, *sep, *tmp, *varname;
SV *freezer, *toaster, *bless;
- I32 purity, deepcopy, quotekeys;
+ I32 purity, deepcopy, quotekeys, maxdepth;
char tmpbuf[1024];
I32 gimme = GIMME;
quotekeys = SvTRUE(*svp);
if ((svp = hv_fetch(hv, "bless", 5, FALSE)))
bless = *svp;
+ if ((svp = hv_fetch(hv, "maxdepth", 8, FALSE)))
+ maxdepth = SvIV(*svp);
postav = newAV();
if (todumpav)
DD_dump(aTHX_ val, SvPVX(name), SvCUR(name), valstr, seenhv,
postav, &level, indent, pad, xpad, newapad, sep,
freezer, toaster, purity, deepcopy, quotekeys,
- bless);
+ bless, maxdepth);
if (indent >= 2)
SvREFCNT_dec(newapad);
=over 4
-=item $Data::Dumper::Maxdepth I<or> $I<OBJ>->Maxdepth(I<NEWVAL>)
-
-Depth beyond which we don't venture into a structure. Has no effect when
-C<Data::Dumper::Purity> is set. (useful in debugger when we often don't
-want to see more than enough).
-
=item $Data::Dumper::Expdepth I<or> $I<OBJ>->Expdepth(I<NEWVAL>)
Dump contents explicitly up to a certain depth and then use names for
static U32 lastid;
CV *cv;
- cv = (CV*)SvIVX(Sub);
+ cv = INT2PTR(CV*,SvIVX(Sub));
svp = hv_fetch(cv_hash, (char*)&cv, sizeof(CV*), TRUE);
if (!SvOK(*svp)) {
GV *gv = CvGV(cv);
PUSHMARK( ORIGMARK );
#ifdef G_NODEBUG
- perl_call_sv( (SV*)SvIV(Sub), GIMME | G_NODEBUG);
+ perl_call_sv( INT2PTR(SV*,SvIV(Sub)), GIMME | G_NODEBUG);
#else
curstash = debstash; /* To disable debugging of perl_call_sv */
#ifdef PERLDBf_NONAME
if (RETVAL == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), PTR2IV(RETVAL) );
void *
if (RETVAL == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), PTR2IV(RETVAL));
void
PerlIO_printf(PerlIO_stderr(), "load_add_on(%s) : %d (%s)\n", path, bogo, strerror(bogo));
} else {
RETVAL = (void *) bogo;
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), PTR2IV(RETVAL) );
}
free(path);
}
SaveError(aTHX_ "%s", strerror(retcode)) ;
PerlIO_printf(PerlIO_stderr(), "retcode = %p (%s)\n", retcode, strerror(retcode));
} else
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), PTR2IV(RETVAL));
void
if (RETVAL == NULL){
SaveError(aTHX_ "%d",GetLastError()) ;
} else {
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), PTR2IV(RETVAL) );
}
}
if (RETVAL == NULL)
SaveError(aTHX_ "%d",GetLastError()) ;
else
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), PTR2IV(RETVAL));
void
haverror:
ST(0) = sv_newmortal() ;
if (dlderr == 0)
- sv_setiv(ST(0), (IV)RETVAL);
+ sv_setiv(ST(0), PTR2IV(RETVAL));
void *
if (RETVAL == NULL)
SaveError(aTHX_ "dl_find_symbol: Unable to find '%s' symbol", symbolname) ;
else
- sv_setiv(ST(0), (IV)RETVAL);
+ sv_setiv(ST(0), PTR2IV(RETVAL));
void
if (RETVAL == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), PTR2IV(RETVAL));
void *
if (RETVAL == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), PTR2IV(RETVAL));
void
if (obj == NULL)
SaveError(aTHX_ "%s",Strerror(errno));
else
- sv_setiv( ST(0), (IV)obj);
+ sv_setiv( ST(0), PTR2IV(obj) );
void *
if (status == -1) {
SaveError(aTHX_ "%s",(errno) ? Strerror(errno) : "Symbol not found") ;
} else {
- sv_setiv( ST(0), (IV)symaddr);
+ sv_setiv( ST(0), PTR2IV(symaddr) );
}
if (obj == NULL)
SaveError(aTHX_"%s",Strerror(errno));
else
- sv_setiv( ST(0), (IV)obj);
+ sv_setiv( ST(0), PTR2IV(obj) );
void *
dl_find_symbol(libhandle, symbolname)
if (status != 0) {
SaveError(aTHX_"%s",(errno) ? Strerror(errno) : "Symbol not found") ;
} else {
- sv_setiv( ST(0), (IV)symaddr);
+ sv_setiv( ST(0), PTR2IV(symaddr) );
}
void
if (RETVAL == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), PTR2IV(RETVAL) );
void *
if (RETVAL == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), PTR2IV(RETVAL) );
void
if (RETVAL == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), PTR2IV(RETVAL) );
void *
if (RETVAL == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), PTR2IV(RETVAL) );
void
if (RETVAL == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), PTR2IV(RETVAL) );
&nb