Please note: This file provides a summary of significant changes between versions and sub-versions of Perl, not necessarily a complete list of each modification. If you'd like more detailed information, please consult the comments in the patches on which the relevant release of Perl is based. (Patches can be found on any CPAN site, in the .../src/5.0 directory for full version releases, or in the .../src/5/0/unsupported directory for sub-version releases.) ---------------- Version 5.003_06 ---------------- This patch was primarily to fix bugs, improve the documentation, and work towards restoring binary compatibility with 5.003. The details are described below. A very brief summary is: o Visible Changes to Core Functionality -Significantly improved support _with documentation_ for locales, including LC_COLLATE. See the new pod/perli18n.pod. Thanks to Jarkkko Hietaniemi. -new version of Math::Complex, with test suite. Ought to be backwards compatible, but check it out if you use Math::Complex. -Pre-extending hashes now works. keys %hash = 5000 will pre-size %hash. -__DATA__ filehandle is untainted. o Changes in Core Internals -gv_fullname and gv_efullname have reverted to their pre-5.003_03 versions for binary compatibility. Actually, they are implemented as stubs pointing to the new 3-argument forms gv_fullname3 and gv_efullname3. -Perl's malloc is once again called 'Mymalloc' (with -DHIDEMYMALLOC), as it was pre-5.003_01. Again, this is for binary compatibility with 5.003. o Configure and build enhancements -many new tests for the standard library. -test suite now locale-friendly. -a2p.man and s2p.man now made into pods. o Bug fixes -whitespace lexer errors fixed. -many, many other things. See details below. o Specific Changes Here are the specific file-by-file changes. # This is my patch perl5.003_06.pat to perl5.003_05 # The full description is below. # Please execute the following commands before applying this patch. # (You can feed this patch to 'sh' to do so.) # Andy Dougherty # We'll create some new tests, but patch won't automatically make them # executable. for t in abbrev.t autoloader.t basename.t checktree.t complex.t \ env.t fatal.t filecache.t filecopy.t filefind.t filepath.t \ findbin.t getopt.t hostname.t parsewords.t searchdict.t \ selectsaver.t symbol.t texttabs.t textwrap.t timelocal.t do touch t/lib/$t chmod +x t/lib/$t done # The a2p.man and s2p.man pages have been changed into pods. rm -f x2p/a2p.man x2p/s2p.man exit 0 This is patch perl5.003_06.pat to perl version 5.003_05. This takes you from 5.003_05 to 5.003_06. To apply this patch, run the above commands, cd to your perl source directory and then type patch -p1 -N < perl5.003_06.pat The changes are described after each /^Index:/ line below. This is designed so you can examine each change with a command such as csplit -k perl5.003_06.pat '/^Index:/' '{999}' (Of course, since there are more than 100 Index entries, your csplit may complain, since many csplit's have an arbitrary limit of 100 files. Still, you can manually split the file or roll your own.) Patch and enjoy, Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College, Easton PA 18042 Index: Changes Updated for 5.003_06. Index: Configure Add -Wl,rpath option for irix* to find the installed shared libperl.so Add /shlib to libpth. It is used by Digital Unix 4.0. Date: Mon, 30 Sep 1996 14:01:05 +0100 From: Sven Verdoolaege Detect Cygnus Win32, or at least don't let Configure get fooled into thinking it's OS/2. Index: INSTALL Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. added LC_COLLATE doc. Index: MANIFEST Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Date: Sat, 28 Sep 1996 15:11:06 +0200 From: Andreas Koenig Subject: Dale's posting as patch (Was: Perl 5.003_5 make fails on NS3.2 - CURED) Handle NeXT, POSIX, and setpgid in pp_sys.c and POSIX. Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. added perli18n.pod. Index: README Changed Larry's address to larry@wall.org. Index: configpm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: configure Date: Mon, 30 Sep 1996 14:01:05 +0100 From: Sven Verdoolaege Warn the user of case-insensitive file systems that they may have accidentally gotten 'configure' instead of 'Configure'. Index: doio.c Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 Index: doop.c Date: Mon, 30 Sep 1996 01:13:28 -0400 From: Spider Boardman Subject: Re: pre extending hash? - need speed The patch below (which is relative to perl5.001l) implements "keys %hash = 50_000;" (or other integer-evaluable sizes) for pre-sizing hashes. I've only moved the patch forward from when I first did it. I'm sure the code in hv_ksplit could be improved. Index: dump.c Restore the 5.003 gv_fullname() and gv_efullname() functions. Provide new 3-arg forms gv_fullname3() and gv_efullname3(). Index: embed.h Restore the 5.003 gv_fullname() and gv_efullname() functions. Provide new 3-arg forms gv_fullname3() and gv_efullname3(). Index: ext/DynaLoader/DynaLoader.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: ext/FileHandle/FileHandle.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: ext/IO/IO.pm Updated to IO-1.12. Index: ext/IO/IO.xs Updated to IO-1.12. Index: ext/IO/lib/IO/File.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Updated to IO-1.12. Index: ext/IO/lib/IO/Handle.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Updated to IO-1.12. Index: ext/IO/lib/IO/Pipe.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Updated to IO-1.12. Index: ext/IO/lib/IO/Seekable.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Updated to IO-1.12. Index: ext/IO/lib/IO/Select.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Updated to IO-1.12. Index: ext/IO/lib/IO/Socket.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Updated to IO-1.12. Index: ext/NDBM_File/hints/dynixptx.pl Perl 5.003_05 compiles on DYNIX/ptx 4.0 (v4.1.3), and passes all tests. The only change needed is in "ext/NDBM_File/Makefile.PL" - on this system, ndbm is actually contained in the libc library, and must be linked against -lc when compiling. (this is for dynamic ELF executables, I didn't compile statically) Index: ext/Opcode/Opcode.pm Date: Fri, 20 Sep 1996 12:59:21 +0200 From: Gisle Aas Subject: Re: Symbol.pm clobbers $_ at startup The same kind of problem seem to be present in Opcode.pm: Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: ext/Opcode/Safe.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: ext/POSIX/POSIX.pod Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. enhanced setlocale() docs and introduced the one-argument variant doc. Index: ext/POSIX/POSIX.xs Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. setlocale() allowed one argument only, call to perl_init_fold() (in util.c) if setlocale() succeeded. Index: ext/POSIX/hints/next_3.pl Date: Sat, 28 Sep 1996 15:11:06 +0200 From: Andreas Koenig Subject: Dale's posting as patch (Was: Perl 5.003_5 make fails on NS3.2 - CURED) Handle NeXT, POSIX, and setpgid in pp_sys.c and POSIX. Index: ext/SDBM_File/sdbm/sdbm.h Revert from Perl_malloc to Mymalloc for binary compatibility with 5.003. Index: ext/Socket/Socket.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: global.sym Restore the 5.003 gv_fullname() and gv_efullname() functions. Provide new 3-arg forms gv_fullname3() and gv_efullname3(). Date: Mon, 30 Sep 1996 01:13:28 -0400 From: Spider Boardman Subject: Re: pre extending hash? - need speed The patch below (which is relative to perl5.001l) implements "keys %hash = 50_000;" (or other integer-evaluable sizes) for pre-sizing hashes. I've only moved the patch forward from when I first did it. I'm sure the code in hv_ksplit could be improved. Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. added var lc_collate_active and func mem_collxfrm. Index: gv.c Restore the 5.003 gv_fullname() and gv_efullname() functions. Provide new 3-arg forms gv_fullname3() and gv_efullname3(). Index: handy.h Date: Sat, 21 Sep 1996 21:33:15 -0400 (EDT) From: Kenneth Albanowski Subject: Full LONG_MAX & co. patch over 5.003_05 This patch contains the changes I've collected for the various _MAX issues since 5.003_05. No patches issued between 5.003_05 and this one should be applied, use this one instead. The effect is to remove the CHAR_* and I8_* constants (which are ambiguous) and to explicitly cast all of the constants. Index: hints/machten.sh Add notes about MachTen 4.0.3 SYSV IPC. Index: hints/next_3.sh Replace optimize="-g" by optimize="" since we're just trying to turn off the optimizier. Date: Sat, 28 Sep 1996 15:11:06 +0200 From: Andreas Koenig Subject: Dale's posting as patch (Was: Perl 5.003_5 make fails on NS3.2 - CURED) Handle NeXT, POSIX, and setpgid in pp_sys.c and POSIX. Index: hv.c Date: Fri, 20 Sep 1996 15:38:57 -0400 From: Gurusamy Sarathy Subject: Re: "Attempt to free non-existent shared string"? (with patch) I found a subtle problem with the lazydelete mechanism (which is used to postpone the delete of a entry that may be getting iterated over). I was using the HeKLEN slot to hold the hint, but the real HeKLEN is needed later to call unsharepvn(). This means that only magical hash entries can use the HeKLEN slot to hold flags. Here's a tested patch against 5.00305 that fixes the problem. The patch simply moves the LAZYDEL hint to become a SV-level private flag. Date: Mon, 30 Sep 1996 01:13:28 -0400 From: Spider Boardman Subject: Re: pre extending hash? - need speed The patch below (which is relative to perl5.001l) implements "keys %hash = 50_000;" (or other integer-evaluable sizes) for pre-sizing hashes. I've only moved the patch forward from when I first did it. I'm sure the code in hv_ksplit could be improved. Index: hv.h Date: Fri, 20 Sep 1996 15:38:57 -0400 From: Gurusamy Sarathy Subject: Re: "Attempt to free non-existent shared string"? (with patch) I found a subtle problem with the lazydelete mechanism (which is used to postpone the delete of a entry that may be getting iterated over). I was using the HeKLEN slot to hold the hint, but the real HeKLEN is needed later to call unsharepvn(). This means that only magical hash entries can use the HeKLEN slot to hold flags. Here's a tested patch against 5.00305 that fixes the problem. The patch simply moves the LAZYDEL hint to become a SV-level private flag. Index: installman Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: installperl Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/AutoLoader.pm Date: Mon Sep 9 09:29:44 1996 From: Gisle Aas Subject: Re: problem with 'die' and UserAgent > This is a patch to the AutoLoader.pm (from 5.003) that fixes the problem: This is a better patch (no need to test for /::DESTROY$/ twice): Date: Mon, 30 Sep 1996 00:54:37 -0400 From: Spider Boardman The test and patches for AutoLoader were also non-functional, since the regexp context (curpm) was still being clobbered by the filename manipulations: Date: Sun, 06 Oct 1996 16:15:07 +0200 From: Gisle Aas Subject: Re: Can't locate auto/U/autosplit.ix It would IMHO be much better if the AutoLoader exported the AUTOLOAD() function. With an exported AUTOLOAD() we would not have to inherit from AutoLoader, and we would avoid these problems. This patch tries to explain the behavior of AutoLoader instead by updating its documentation. Index: lib/Benchmark.pm Date: Sat, 28 Sep 1996 17:01:22 +0300 (EET DST) From: Jarkko Hietaniemi Subject: a really really tiny typo Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/Cwd.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/Devel/SelfStubber.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/Env.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/Exporter.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/ExtUtils/Embed.pm Remove unwantd space after the I in -I$Config[archlib} Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/ExtUtils/Install.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/ExtUtils/MM_Unix.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/ExtUtils/MM_VMS.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 Index: lib/ExtUtils/MakeMaker.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/ExtUtils/Manifest.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 Index: lib/ExtUtils/Mksymlists.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/ExtUtils/xsubpp Change a reference from perlapi(1) to perlxs(1). Index: lib/File/Basename.pm Date: Fri, 20 Sep 1996 14:11:05 +0200 From: Gisle Aas Subject: File::BaseName: "/" is legal path separator for MSDOS The File::BaseName module should allow "/" as path separator when fileparse_set_fstype("MSDOS") is in effect: Date: Fri, 20 Sep 1996 13:58:52 +0200 From: Gisle Aas Subject: File::Basename documentation patch Date: Mon, 30 Sep 1996 00:54:37 -0400 From: Spider Boardman For t/lib/basename.t, though, the associated patch for File::Basename was also wrong: Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 Index: lib/File/Copy.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/File/Find.pm Date: Sat, 7 Sep 1996 21:37:44 +0200 From: Michael De La Rue Subject: File::Find assumes $_ remains unchanged; bug The File::Find perl module assumes that the $_ variable remains unchanged through the user defined function which is callbacked from find. It carries out a stat operation Simplest fix is merely to document this Index: lib/File/Path.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/FindBin.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/Getopt/Long.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/I18N/Collate.pm Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. deprecated and trapped (will whine if called and tell to migrate away) Index: lib/IPC/Open2.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/IPC/Open3.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/Math/BigInt.pm Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. ord() is a dangerous thing. Index: lib/Math/Complex.pm Date: Thu, 03 Oct 96 18:38:08 +0200 From: Raphael Manfredi # Complex numbers and associated mathematical functions # -- Raphael Manfredi, Sept 1996 # New version. Should be backwards compatible, but please # check it out if you use it. Index: lib/Pod/Text.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/Search/Dict.pm Date: Sat, 21 Sep 1996 23:02:42 +0200 From: Gisle Aas Subject: look() in Search::Dict should use lc() istead of tr/A-Z/a-z/ The Search::Dict look() function should use the lc() function instead of tr/A-Z/a-z/. This will make folding of non-english letters work if the locale is set up correctly. Index: lib/SelfLoader.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/Symbol.pm Date: Fri, 20 Sep 1996 12:38:14 +0200 From: Gisle Aas Subject: Symbol.pm clobbers $_ at startup perl -le 'BEGIN {$_="foo";} use Symbol; print qualify($_)' I don't understand why the module want to initialize %global from in the first place. Perhaps we want to apply this patch instead. Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/Sys/Hostname.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/Term/Cap.pm Date: 23 Sep 1996 14:11:38 +0200 From: Ulrich Pfeifer Subject: Patch for Term::Cap 'use Term::Cap' produces a warning when diagnosics are active. The patch below avoids the warning. [The $entry .= $_ usage is idiomatic enough that it ought to be ok, I would think, but the patch certainly is ok too.] Index: lib/Term/Complete.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/Term/ReadLine.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/Test/Harness.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 Index: lib/Text/Abbrev.pm Date: 23 Sep 1996 11:33:01 +0200 From: Ulrich Pfeifer Subject: Text::Abbrev (Re: More standard library test scripts) This patch merges the Text::Abbrev related patches/tests from Gisle and my previous patch (i.e. replaces both). Index: lib/Text/Tabs.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/Text/Wrap.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/Time/Local.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/UNIVERSAL.pm Add in stub file. Index: lib/bigint.pl Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. ord() is a dangerous thing. Index: lib/diagnostics.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/overload.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/perl5db.pl Date: Mon, 30 Sep 1996 00:34:58 -0400 (EDT) From: Ilya Zakharevich Subject: Re: dereferencing a hash from the debugger won't work Index: lib/splain Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: lib/strict.pm Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: makedepend.SH Add explicit $touch $firstmakefile for QNX which apparently preserves modification times for a 'cp' command. I worry, though, that touch might not be portable to OS/2. If it is, then I'll remove the fancy case statement. Index: malloc.c Not all sbrks return zeroed memory. Index: mg.c Restore the 5.003 gv_fullname() and gv_efullname() functions. Provide new 3-arg forms gv_fullname3() and gv_efullname3(). Date: Sun, 29 Sep 1996 22:18:19 -0400 (EDT) From: Chip Salzenberg Subject: 5.003_05: Fix numeric value of $! This patch undoes a bit of over-zealous integerization in mg.c, related to the numeric value of $!. Date: Mon, 30 Sep 1996 01:13:28 -0400 From: Spider Boardman Subject: Re: pre extending hash? - need speed The patch below (which is relative to perl5.001l) implements "keys %hash = 50_000;" (or other integer-evaluable sizes) for pre-sizing hashes. I've only moved the patch forward from when I first did it. I'm sure the code in hv_ksplit could be improved. Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 Date: Fri, 4 Oct 1996 12:38:31 -0400 (EDT) From: Chip Salzenberg Subject: 5.003_05: Fix numeric $! and $^E This patch undoes a bit of over-zealous integerization in mg.c, related to the numeric values of $! and $^E. This patch *REPLACES* the one I posted earlier, which was only effective for $!. [Some of this is superceded by similar stuff in the VMS patches.] Index: op.c Restore the 5.003 gv_fullname() and gv_efullname() functions. Provide new 3-arg forms gv_fullname3() and gv_efullname3(). Date: Mon, 30 Sep 1996 01:13:28 -0400 From: Spider Boardman Subject: Re: pre extending hash? - need speed The patch below (which is relative to perl5.001l) implements "keys %hash = 50_000;" (or other integer-evaluable sizes) for pre-sizing hashes. I've only moved the patch forward from when I first did it. I'm sure the code in hv_ksplit could be improved. Index: opcode.h Date: Mon, 16 Sep 1996 16:37:48 -0700 From: Jonathan Biggar Subject: Perl 5.003 bug when embedding in C++ program The following patch is necessary in order to embed the Perl5.003 interpreter into a C++ program without getting prototype mismatch errors from the C++ compiler. Index: opcode.pl Date: Mon, 16 Sep 1996 16:37:48 -0700 From: Jonathan Biggar Subject: Perl 5.003 bug when embedding in C++ program The following patch is necessary in order to embed the Perl5.003 interpreter into a C++ program without getting prototype mismatch errors from the C++ compiler. Index: patchlevel.h Change to subversion 6. Index: perl.c From: Roderick Schertler Subject: Re: -T flag and removal of `.' from @INC support C Date: Tue, 01 Oct 1996 19:02:17 -0400 From: Gurusamy Sarathy Subject: Re: 2 core dumps (patch) Message-Id: <199610012302.TAA08395@aatma.engin.umich.edu> The problem is an uninitialized SV slot in errgv. Here's a patch. Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 Index: perl.h Date: Sat, 21 Sep 1996 21:33:15 -0400 (EDT) From: Kenneth Albanowski Subject: Full LONG_MAX & co. patch over 5.003_05 This patch contains the changes I've collected for the various _MAX issues since 5.003_05. No patches issued between 5.003_05 and this one should be applied, use this one instead. The effect is to remove the CHAR_* and I8_* constants (which are ambiguous) and to explicitly cast all of the constants. Date: Mon, 30 Sep 1996 01:13:28 -0400 From: Spider Boardman Subject: Re: pre extending hash? - need speed The patch below (which is relative to perl5.001l) implements "keys %hash = 50_000;" (or other integer-evaluable sizes) for pre-sizing hashes. I've only moved the patch forward from when I first did it. I'm sure the code in hv_ksplit could be improved. Revert from Perl_malloc to Mymalloc for binary compatibility with 5.003. Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. Index: perl_exp.SH Add new function perl_init_fold. (I'm not sure it goes here.) Index: perlio.c Date: Thu, 12 Sep 96 15:58 PDT From: Hunter Kelly Subject: Re: 5.003_05 is available. Fix PerlIO_reopen parameters. Index: perlsdio.h Date: Fri, 13 Sep 1996 17:24:01 -0400 From: John Stoffel Subject: Re: 5.003_05 is available. Undef Irix getc_unlocked and putc_unlocked #defines. Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 Index: pod/Makefile Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. perli18n.pod (and perlapio.pod, btw) added. Index: pod/buildtoc Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perl.pod Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Changed Larry's address to larry@wall.org. Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. perli18n advertised. Index: pod/perlapio.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Index: pod/perlbook.pod Updated for Second Edition. Index: pod/perlcall.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perldata.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perldebug.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perldiag.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 Index: pod/perldsc.pod Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perlembed.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perlform.pod Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perlfunc.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perlguts.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Mon, 23 Sep 96 13:18:01 PDT From: Jeff Okamoto Subject: Re: perlguts API Listing patch Here's the lastest complete version for inclusion into _06 or .004. This incorporates and supersedes Dean's patch. Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perli18n.pod Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. written. Index: pod/perlipc.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perllol.pod Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perlmod.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Date: Wed, 02 Oct 1996 16:52:08 -0400 From: Roderick Schertler Subject: documentation for $? in END Document the behavior with $? WRT END subroutines. Index: pod/perlobj.pod Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perlop.pod Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Date: Fri, 4 Oct 1996 10:36:19 -0400 (EDT) From: Kenneth Albanowski Subject: Re: Suggestion for improving man page Add alternative names for various escape sequences. Index: pod/perlpod.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perlre.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Date: Fri, 4 Oct 1996 10:36:19 -0400 (EDT) From: Kenneth Albanowski Subject: Re: Suggestion for improving man page Add alternative names for various escape sequences. Index: pod/perlref.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perlrun.pod Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perlsec.pod Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perlstyle.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perlsub.pod Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perlsyn.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perltie.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perltoc.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Changed Larry's address to larry@wall.org. Index: pod/perltrap.pod Date: Wed, 11 Sep 1996 13:26:18 -0400 From: Gurusamy Sarathy Subject: a perl425 trap Here's an addition that should be self-explanatory. [interpolation issues] Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/perlvar.pod Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Date: Wed, 02 Oct 1996 16:52:08 -0400 From: Roderick Schertler Subject: documentation for $? in END Document the behavior with $? WRT END subroutines. Index: pod/perlxstut.pod Date: Wed, 11 Sep 1996 11:55:18 -0500 From: "Daniel S. Lewart" Subject: POD spelling patches Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: pod/pod2man.PL Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Bugs found in pod2man The following bugs were noticed, and some fixed: 1. Where a L<> link extends over more than one line, pod2man does not treat it as a link but displays it literally, and so these have been rearranged to place the link on one line. This is the only bug worked around. [Fixed; the rearrangements, which were done beforehand, remain in some cases, but are no longer necessary, and pod paragraphs can now be safely reformatted to whatever width is desired in the pod, without breaking links.] 2. It seems to swallow spaces after certain links: for example, part of the "open" entry in the perlfunc manpage comes out as "the \f(CWbinmode\fR entry elsewhere in this documentfor tips", the source having been "L for tips". [Fixed.] 3. 'L', in perlsub.pod, comes out as '\fI/"Pass by Reference\fR', that is, with an initial '/"'. 4. If a pod line begins with ".", nothing is done to prevent [tng]roff from treating it as a [tng]roff instruction. 5. When the paragraph below =head1 NAME has more than one line, this confuses pod2man: so in the case of Term::Readline, the manpage begins with a stray line 'no real package is found, substitutes stubs instead of basic functions."'. Of course, it would be better to fix pod2man; I hope that the new Pod modules, when ready, will not have these defects. Index: pp_ctl.c Restore the 5.003 gv_fullname() and gv_efullname() functions. Provide new 3-arg forms gv_fullname3() and gv_efullname3(). Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. sortcmp() sprouted a LC_COLLATE branch. Index: pp_hot.c Restore the 5.003 gv_fullname() and gv_efullname() functions. Provide new 3-arg forms gv_fullname3() and gv_efullname3(). Date: Thu, 19 Sep 1996 11:58:22 -0400 From: "Randy J. Ray" Subject: Patch: Untaint FH flag and clean DATA handles This patch adds a IOf_UNTAINT flag in sv.h, as one of the possibles on an xpvio->xio_flags struct member. It is used to mark the given file handle as a clean source, even when tainting is turned on. There are also patches to pp_sys.c in pp_sysread to check this flag before tainting data, and in pp_hot.c in do_readline for the same reason. Lastly, it patches toke.c to automatically set this flag on on a __DATA__ filehandle. The creation of the $pack::DATA pseudo-filehandle is already checked against running under eval, so this should not introduce any insecurity. This patch *does not*: * Add the "untaint" keyword. Index: pp_sys.c Restore the 5.003 gv_fullname() and gv_efullname() functions. Provide new 3-arg forms gv_fullname3() and gv_efullname3(). Date: Thu, 19 Sep 1996 11:58:22 -0400 From: "Randy J. Ray" Subject: Patch: Untaint FH flag and clean DATA handles This patch adds a IOf_UNTAINT flag in sv.h, as one of the possibles on an xpvio->xio_flags struct member. It is used to mark the given file handle as a clean source, even when tainting is turned on. There are also patches to pp_sys.c in pp_sysread to check this flag before tainting data, and in pp_hot.c in do_readline for the same reason. Lastly, it patches toke.c to automatically set this flag on on a __DATA__ filehandle. The creation of the $pack::DATA pseudo-filehandle is already checked against running under eval, so this should not introduce any insecurity. This patch *does not*: * Add the "untaint" keyword. Date: Sun, 22 Sep 1996 17:26:57 -0400 From: "Randy J. Ray" Subject: Patch to patch for untainting The following patch ensures that a glob used as a filehandle that has had the UNTAINT flag set will not carry that flag over on a re-open. In a nutshell, a re-open of the DATA filehandle would be considered untainted, and an object of class IO::Handle (or one of its sub-classes) that is marked untainted with the untaint method, then closed and re-opened, retained the untaintedness. Date: Mon, 30 Sep 1996 00:54:37 -0400 From: Spider Boardman First, with IO::untaint, the patches as posted resulted in a miniperl which couldn't open files, so the autosplitting of the library and the creation of Makefiles for the extensions didn't work. Worse, it didn't just fail to open files, it dumped core. Index: proto.h Restore the 5.003 gv_fullname() and gv_efullname() functions. Provide new 3-arg forms gv_fullname3() and gv_efullname3(). Date: Mon, 30 Sep 1996 01:13:28 -0400 From: Spider Boardman Subject: Re: pre extending hash? - need speed The patch below (which is relative to perl5.001l) implements "keys %hash = 50_000;" (or other integer-evaluable sizes) for pre-sizing hashes. I've only moved the patch forward from when I first did it. I'm sure the code in hv_ksplit could be improved. Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. mem_collxfrm() and perl_init_fold() added. Index: run.c Restore the 5.003 gv_fullname() and gv_efullname() functions. Provide new 3-arg forms gv_fullname3() and gv_efullname3(). Index: sv.c Restore the 5.003 gv_fullname() and gv_efullname() functions. Provide new 3-arg forms gv_fullname3() and gv_efullname3(). Date: Mon, 30 Sep 1996 01:13:28 -0400 From: Spider Boardman Subject: Re: pre extending hash? - need speed The patch below (which is relative to perl5.001l) implements "keys %hash = 50_000;" (or other integer-evaluable sizes) for pre-sizing hashes. I've only moved the patch forward from when I first did it. I'm sure the code in hv_ksplit could be improved. Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 I've added some DEBUG_Ps to sv.c which give a trace of the fast I/O fiddling with stdio in sv_gets(). These were useful to me in setting up the VMS fast I/O, and I left them in in case they're useful to someone in the future. However, if you think it overloads -DP too much, feel free to drop it. (-DP already adds a profile of op usage to its advertised output.) Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. sv_cmp() sprouted a LC_COLLATE branch. Index: sv.h Date: Thu, 19 Sep 1996 11:58:22 -0400 From: "Randy J. Ray" Subject: Patch: Untaint FH flag and clean DATA handles This patch adds a IOf_UNTAINT flag in sv.h, as one of the possibles on an xpvio->xio_flags struct member. It is used to mark the given file handle as a clean source, even when tainting is turned on. There are also patches to pp_sys.c in pp_sysread to check this flag before tainting data, and in pp_hot.c in do_readline for the same reason. Lastly, it patches toke.c to automatically set this flag on on a __DATA__ filehandle. The creation of the $pack::DATA pseudo-filehandle is already checked against running under eval, so this should not introduce any insecurity. This patch *does not*: * Add the "untaint" keyword. Date: Fri, 20 Sep 1996 15:38:57 -0400 From: Gurusamy Sarathy Subject: Re: "Attempt to free non-existent shared string"? (with patch) I found a subtle problem with the lazydelete mechanism (which is used to postpone the delete of a entry that may be getting iterated over). I was using the HeKLEN slot to hold the hint, but the real HeKLEN is needed later to call unsharepvn(). This means that only magical hash entries can use the HeKLEN slot to hold flags. Here's a tested patch against 5.00305 that fixes the problem. The patch simply moves the LAZYDEL hint to become a SV-level private flag. Index: t/base/term.t Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. \n not necessarily lt ' '. Index: t/comp/package.t Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. XYZ not necessarily gt xyz. Index: t/lib/abbrev.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Date: 23 Sep 1996 11:33:01 +0200 From: Ulrich Pfeifer Subject: Text::Abbrev (Re: More standard library test scripts) This patch merges the Text::Abbrev related patches/tests from Gisle and my previous patch (i.e. replaces both). Index: t/lib/anydbm.t Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. A not necessarily gt a. Index: t/lib/autoloader.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Date: Mon, 30 Sep 1996 00:54:37 -0400 From: Spider Boardman The test and patches for AutoLoader were also non-functional, since the regexp context (curpm) was still being clobbered by the filename manipulations: Index: t/lib/basename.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Date: Mon, 30 Sep 1996 00:54:37 -0400 From: Spider Boardman Fix the number of tests. Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 A different set of tests for File::Basename and friends. Index: t/lib/checktree.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/complex.t Date: Thu, 03 Oct 96 18:38:08 +0200 From: Raphael Manfredi # Complex numbers and associated mathematical functions # -- Raphael Manfredi, Sept 1996 Tests for new version. Index: t/lib/db-btree.t Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. A not necessarily gt a. Index: t/lib/db-hash.t Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. A not necessarily gt a. Index: t/lib/env.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/fatal.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/filecache.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/filecopy.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/filefind.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/filepath.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/findbin.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/gdbm.t Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. A not necessarily gt a. Index: t/lib/getopt.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/hostname.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/ndbm.t Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. A not necessarily gt a. Index: t/lib/odbm.t Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. A not necessarily gt a. Index: t/lib/parsewords.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/sdbm.t Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. A not necessarily gt a. Index: t/lib/searchdict.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/selectsaver.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/symbol.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Date: Mon, 30 Sep 1996 00:54:37 -0400 From: Spider Boardman The various new lib/*.t tests didn't all work. For some, it was only because the count of tests was wrong: Index: t/lib/texttabs.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/textwrap.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/lib/timelocal.t Date: Sun, 22 Sep 1996 00:59:56 +0200 From: Gisle Aas Subject: More standard library test scripts This is a collection of test scripts for the standard library modules. Some of the tests does not pass unless some of the patches I have sent out are applied. Index: t/op/each.t Date: Mon, 30 Sep 1996 01:13:28 -0400 From: Spider Boardman Subject: Re: pre extending hash? - need speed The patch below (which is relative to perl5.001l) implements "keys %hash = 50_000;" (or other integer-evaluable sizes) for pre-sizing hashes. I've only moved the patch forward from when I first did it. I'm sure the code in hv_ksplit could be improved. Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. A not necessarily gt a. Index: t/op/glob.t Date: Tue, 01 Oct 1996 16:37:03 -0400 (EDT) From: Charles Bailey Subject: Re: glob test 1 failing...bad test or bug Under AIX 4.1.4, with LOCALE set en_GB (British english) glob test one fails because sorts op/re_* before op/rea*, while $otherway = `echo op/*` sorts op/re_* after op/re[a-z]*.t This version doesn't rely on the sorting order. Index: t/op/magic.t Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. Index: t/op/readdir.t Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. A not necessarily gt a. Index: t/op/sort.t Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. A not necessarily gt a. Index: toke.c Date: Sat, 14 Sep 1996 17:08:16 -0400 From: Gurusamy Sarathy Subject: whitespace induced lexer errors (with patch) I finally got around to fixing skipspace() to not indiscriminately overwrite oldbufptr and oldoldbufptr (which are used in making expectation decisions in the lexer). Date: Sat, 14 Sep 1996 18:55:16 -0400 From: Gurusamy Sarathy Subject: perl lexer won't accept C$b;> Date: Thu, 19 Sep 1996 11:58:22 -0400 From: "Randy J. Ray" Subject: Patch: Untaint FH flag and clean DATA handles This patch adds a IOf_UNTAINT flag in sv.h, as one of the possibles on an xpvio->xio_flags struct member. It is used to mark the given file handle as a clean source, even when tainting is turned on. There are also patches to pp_sys.c in pp_sysread to check this flag before tainting data, and in pp_hot.c in do_readline for the same reason. Lastly, it patches toke.c to automatically set this flag on on a __DATA__ filehandle. The creation of the $pack::DATA pseudo-filehandle is already checked against running under eval, so this should not introduce any insecurity. This patch *does not*: * Add the "untaint" keyword. Index: util.c Date: Mon, 7 Oct 1996 22:03:00 +0300 From: Jarkko Hietaniemi Subject: LC_COLLATE. Big patch to add, document, and test LC_COLLATE support. rewrote perl_init_i18n() completely. - reworded to be much more friendly and clear. - perl_init_fold() split to its own function. wrote mem_collxfrm(). Index: utils/c2ph.PL Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: utils/h2ph.PL Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: utils/h2xs.PL Date: Sat, 21 Sep 1996 16:38:24 -0500 From: Dean Roehrich Subject: h2xs bug fix The h2xs that is in perl5.003_05 has a regexp bug which prevents it from finding #define statements and filling the constant() function. This patch fixes that. The h2xs_test program found this--maybe people who are modifying h2xs should get a copy of the test program. This also adds a -d to enable debugging messages (there's just one for now). I've also placed some of the doc-related things in alphabetical order. h2xs_test can be found in my directory on CPAN. Those of you modifying xsubpp should know there's a test suite for that, too, called XSTEST which can also be found in my directory on CPAN. Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments Here is a patch for various typos and other defects in the Perl 5.003_05 pods, including the pods embedded in library modules. Index: utils/perldoc.PL Date: Sun, 29 Sep 1996 22:00:09 -0400 (EDT) From: Kenneth Albanowski Subject: perldoc patch Ilya has found that this change makes perldoc much more useful under OS/2. Index: vms/config.vms Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 Index: vms/descrip.mms Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 Index: vms/genconfig.pl Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 Index: vms/perlvms.pod Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 Index: vms/vms.c Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT) From: Charles Bailey Subject: VMS patches to 5.003_05 Index: x2p/a2p.pod Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments This patch just changed the old a2p.man page into a pod page. Index: x2p/s2p.PL Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST) From: "Joseph S. Myers" Subject: Pod typos, pod2man bugs, and miscellaneous installation comments This patch just changed the old s2p.man page into a pod page. I then embedded the pod into the s2p script. ---------------- Version 5.003_05 ---------------- This patch was primarily to fix bugs and to clean up some of the remaining issues from in 5.003_04. The details are described below. A very brief summary is: o Visible Changes to Core Functionality -Add support for a READLINE method to tied filehandles. -times function now uses CLK_TCK if HZ is not available, rather than just defaulting to 60. times output might change on some systems, but should be correct now. -AnyDBM_File (modifying ISA does not work as expected) Now behaves as documented: Modifying ISA works to select order in which *DB* modules are tried. The default is still the same. o Configure and build enhancements -Enhance detection of [gs]etpgrp() variants. Some systems have BSD-style behavior for one and POSIX for the other. Use [gs]etpgid() instead, whenever possible. -You can now build a shared libperl.so without running through the LD_RUN_PATH hoops, if your system supports appropriate ld command-line options. Solaris, NetBSD, and Linux are currently supported. Others are easy to add. (This makes like a lot easier for embedders.) -VMS updates. -Fix installperl and installman so that the -n option really only prints commands. (previously, it would still do the mkdirs.) o Bug fixes -debugger ought to work. -A new heredoc tag in Makefile.SH is now quoted. This prevented 5.003_04 from working most places. -numerous smaller ones, detailed below. o Specific Changes Here are the specific file-by-file changes. # This is my patch perl5.003_05.pat to perl5.003_04 # The full description is below. # Please execute the following commands before applying this patch. # (You can feed this patch to 'sh' to do so.) # Andy Dougherty # We'll create a new test, but patch won't automatically make it # executable. touch t/io/read.t chmod +x t/io/read.t exit 0 This is patch perl5.003_05.pat to perl version 5.003_04. This takes you from 5.003_04 to 5.003_05. To apply this patch, run the above commands, cd to your perl source directory and then type patch -p1 -N < perl5.003_05.pat The changes are described after each /^Index/ line below. This is designed so you can examine each change with a command such as csplit -k perl5.003_05.pat '/^Index:/' '{99}' Patch and enjoy, Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College, Easton PA 18042 Index: Changes Updated for 5.003_05. Index: Configure Allow command line or hint-file overrides of $afs. Allow trailing spaces in nm output for HPUX10. Check for newer BIND 'search' directives in /etc/resolv.conf as well as older 'domain' directive. Enhance detection of [gs]etpgrp() variants. Some systems have BSD-style behavior for one and POSIX for the other. Use [gs]etpgid() instead, whenever possible. Include -s in the -h summary of available options. Allow command-line override of $afs. Handle trailing spaces in nm-output on HPUX10. Set shrpenv for handling LD_RUN_PATH, if needed. (This used to be in Makefile.SH. Now it's available for other modules too.) When using shared libperl, avoid LD_RUN_PATH if possible by adding correct ld flags. Currently, Solaris and NetBSD get the correct -R $archlibexp/CORE, and Linux gets its -Wl,-rpath,$archlibexp/CORE flag. Other contributions are welcome. Index: INSTALL Correct libperl5 -> libperl typo. Describe MakeMaker's Warning (will try anyway) messages. More info on where and how to send reports. Add info on non-Unix ports. Index: MANIFEST Add new test t/io/read.t. Add new hints files for ODBM_File for ultrix and hpux. Add new pod checker script. Index: Makefile.SH A new heredoc tag in Makefile.SH needs to be quoted. shrpenv stuff moved to Configure. Index: Porting/Glossary Updated to match Configure. Index: README.vms VMS 5.003_05 Update. Index: av.h Subject: turbidity in av.[ch] Date: Sun, 10 Dec 1995 00:21:31 -0500 From: Gurusamy Sarathy Some unclean code that I noticed today. Index: config_H Updated to match newest config_h.SH. Index: config_h.SH Updated to match Configure. Changed the DLSYM_NEEDS_UNDERSCORE comment to /**/ to conform to metaconfig style. Index: emacs/cperl-mode.el From: Ilya Zakharevich Subject: Newer CPerl-mode Index: ext/DB_File/DB_File.pm Update to DB_File 1.03. Index: ext/DB_File/DB_File.xs Update to DB_File 1.03. Index: ext/Fcntl/Fcntl.pm Date: Thu, 5 Sep 1996 18:19:14 -0400 (EDT) From: Chip Salzenberg Subject: No AutoLoader for Fcntl Just like Socket, Fcntl doesn't need splitting and AutoLoading. Index: ext/FileHandle/FileHandle.pm From: Roderick Schertler Subject: FileHandle::DESTROY for fd 0 This fixes FileHandle::DESTROY when called on stdin. Index: ext/ODBM_File/ODBM_File.xs Attempt to correct for "Bad free" in Ultrix and HPUX versions of odbm. Index: ext/ODBM_File/hints/hpux.pl Try to work around "bad free" in dbmclose(). Index: ext/ODBM_File/hints/ultrix.pl Try to work around "bad free" in dbmclose(). Index: ext/Socket/Socket.pm Date: Thu, 5 Sep 1996 09:58:08 +0200 From: Andreas Koenig Subject: Patch to inhibit autosplit on Socket.pm This patch inhibits production and use of a completely useless auto/Socket/autosplit.ix. Index: handy.h Make a little more C++-friendly for IBM's CSET++ compiler. Index: hints/convexos.sh Remove [gs]etpgrp workaround. Configure & perl.h should handle this now. Index: hints/hpux.sh Add note about possible gcc GR3 warning message. Remove [gs]etpgrp workaround. Configure & perl.h should handle this now. Index: hints/sco.sh Turn off optimization for stock cc. This appears to prevent miniperl core dumps. Index: hints/solaris_2.sh Catch GNU ld even though it doesn't identify itself as a GNU tool. Thanks to Tim Pierce . Index: hints/sunos_4_1.sh Describe solution for the __lib_version problem with acc on SunOS. Index: hv.c Date: Thu, 05 Sep 1996 00:25:28 -0400 From: Gurusamy Sarathy Subject: minor misc. cleanup This patch makes some minor cleanups to the sources. No change in functionality whatsoever. Date: Thu, 05 Sep 1996 02:52:21 -0400 From: Gurusamy Sarathy Subject: debugger problems--another patch (was Re: 5.003_04) I have tried to avoid copying of hash keys that are passed to magical hashes, but it seems that copying may be unavoidable since the hv_*_ent() functions could be PADTMPs (and other SVs that may get reused) as keys. VMS dynamic %ENV fix Index: installman From: scotth@sgi.com Subject: Re: installperl feature request (was: Re: Upgrade 4.0x to 5.001m) Fix installperl so that the -n option really only prints commands. (previously, it would still do the mkdirs.) an "ignore installed" option, so that it doesn't bother to check to see if the target already exists (an optimization that I *don't* want it to do when I do #1 above) Index: installperl From: scotth@sgi.com Subject: Re: installperl feature request (was: Re: Upgrade 4.0x to 5.001m) Fix installperl so that the -n option really only prints commands. (previously, it would still do the mkdirs.) an "ignore installed" option, so that it doesn't bother to check to see if the target already exists (an optimization that I *don't* want it to do when I do #1 above) Index: lib/AnyDBM_File.pm AnyDBM_File (modifying ISA does not work as expected) Now behaves as documented: Modifying ISA works to select order in which *DB* modules are tried. The default is still the same. Add helpful "die" message to end of AnyDBM_File. Previously it would return a 0, and the failure would eventually show up somewhere else in the script and be hard to track down. It is a failure if perl can't open AnyDBM_File. The test regression suite is supposed to indicate this as a failure too. Index: lib/ExtUtils/Install.pm Updated to MakeMaker-5.38. Fix for VMS utime. Index: lib/ExtUtils/Liblist.pm Updated to MakeMaker-5.38. Index: lib/ExtUtils/MM_Unix.pm Updated to MakeMaker-5.38. Index: lib/ExtUtils/MakeMaker.pm Updated to MakeMaker-5.38. Updated to MakeMaker-5.39 to allow CFLAGS in hint files. Index: lib/ExtUtils/Manifest.pm Updated to MakeMaker-5.38. Index: lib/ExtUtils/Mkbootstrap.pm Updated to MakeMaker-5.38. Index: lib/ExtUtils/Mksymlists.pm Updated to MakeMaker-5.38. Index: lib/File/Find.pm From: Michael Mahan Subject: Cwd::fastcwd in File::Find Is there a good reason why File::Find uses Cwd::fastcwd instead of Cwd:cwd when fastcwd isn't as portable? [In particular, fastcwd() doesn't work on AFS.] Index: lib/Math/Complex.pm There was a mistake in the sqrt routine in lib/Math/Complex.pm that gave wrong answers when the magnitude of the imaginary part of the argument exceeded the magnitude of the real part. Line 69 had too many sqrt($y)'s. Further, expressions were re-arranged so that calls to the expensive real sqrt() routine were reduced from 4 to 2 in this case. Index: lib/open3.pl The I/O directions on the dad_wtr and kid_rdr were backwards. IO/Open3.pm didn't have this error. Index: lib/syslog.pl Date: Tue, 03 Sep 1996 20:33:54 -0400 From: Roderick Schertler Subject: syslog.pl `use Socket' lossage syslog.pl tries but fails to use Socket.pm, the problem is that use doesn't return a true value. This module should be recast in terms of Sys::Syslog, of course. Index: makedepend.SH This patch eliminates "\|" in sed patterns in makedepend.SH, since they're not really needed anyway in this one case. Index: mg.c Ok, here's a tested patch for the debugger problem. I was missing the fact that DB::dbline magic is actually uppercase (which means hv_store_ent() etc., will pass SV keys to the vtbl_dbline handlers). Replace the oft-repeated mg_ptr incantation with the simple MgPVKEY macro. Rename MgPVKEY to MgPV (to match with HePV elsewhere). Add additional parens around the "mg". (lines near 584) Part of VMS changes. I don't know what this did. Date: Fri, 23 Aug 1996 17:20:22 -0400 (EDT) From: Chip Salzenberg Subject: Integerize mg.c; eliminate warning on C< local($)) > This patch converts magic variables ($!, $^E, etc.) to use integers (C) instead of floats. It also eliminates a warning from C< local($)) >, via a hack similar to $!. Index: mg.h Replace the oft-repeated mg_ptr incantation with the simple MgPVKEY macro. Rename MgPVKEY to MgPV (to match with HePV elsewhere). Add additional parens around the "mg". Index: nostdio.h Add _STDIO_LOADED (VMS) to list of guard symbols. Index: op.c From: Gurusamy Sarathy Subject: Re: \ ( @array ) busted for lexical @array (once more) Index: patchlevel.h Change to subversion 5. Index: perl.c Make floating point constants Locale-friendly. Index: perl.h One last LONG & co. fix (yet another cut'n'paste error) and a few minor cleanups. Nothing crucial. Make a little more C++-friendly for IBM's CSET++ compiler. Enhance detection of [gs]etpgrp() variants. Some systems have BSD-style behavior for one and POSIX for the other. Use [gs]etpgid() instead, whenever possible. Index: perlio.c Eliminate potential "signed vs. unsigned" warning Add PerlIO_reopen and PerlIO_cgetname functions. Index: perlsdio.h Don't supply redundant parameters for PerlIO_open and PerlIO_fdopen. Include PerlIO_reopen and PerlIO_getname. s/FILE_(CNT|PTR)_LVALUE/STDIO_(CNT|PTR)_LVALUE to fix a typo. This had prevented SV_FAST_FGETS from working anywhere. Include PerlIO_canset_cnt. I'm not sure how this is supposed to differ from STDIO_CNT_LVALUE. Index: pod/Makefile Remove trailing spaces in pods. Include a call to the checkpods script in the Makefile (though it's not ordinarily used by users). Index: pod/checkpods.PL New script to check for common errors in pods. This is not normally called during the perl build process, but you can use it with B. Index: pod/perlfunc.pod Document correct C usage. Add notes about POSIX [gs]etpgrp. Index: pod/perlipc.pod Document correct C usage. Index: pod/perlref.pod From: Gurusamy Sarathy Subject: Re: \ ( @array ) busted for lexical @array (once more) Index: pod/perltie.pod Date: Thu, 29 Aug 1996 15:14:51 +0200 From: Sven Verdoolaege Subject: more TIEHANDLE This adds support for a READLINE method. Index: pod/perltrap.pod Here's documentation on the change in split's behavior between Perl 4 and Perl 5. Subject: More (and less!) 425traps Large integer traps Precedence warn STDERR Change blank lines to empty lines. Index: pod/perlvar.pod Be explicit about $/="" matching empty lines, that is, lines with no spaces or tabs. Change blank lines to empty lines. Index: pp.c Date: Fri, 23 Aug 1996 17:22:40 -0400 (EDT) From: Chip Salzenberg Subject: Minor integer speedups in mathematics This patch provides minor speedups by using integer math and SVt_IV values when performing bitwise operations and modulus. Date: Tue, 3 Sep 1996 17:49:22 -0400 (EDT) From: Kenneth Albanowski Subject: Pack Patch (was Re: 5.002 - pack/unpack does not do "I" right) (double)auint cast added for call to sv_setnv(). Index: pp_hot.c Date: Thu, 05 Sep 1996 00:25:28 -0400 From: Gurusamy Sarathy Subject: minor misc. cleanup This patch makes some minor cleanups to the sources. No change in functionality whatsoever. Date: Thu, 29 Aug 1996 15:14:51 +0200 From: Sven Verdoolaege Subject: more TIEHANDLE This adds support for a READLINE method. Index: pp_sys.c Clear any buffer space exposed by by read(). This is almost certainly a bug-fix. Undef and then re-define my_chsize from Perl_my_chsize to just plain chsize if this system HAS_CHSIZE. This probably only applies to SCO. This shows the perils of having internal functions with the same name as external library functions :-). Use CLK_TCK if HZ is not available. Index: sv.c Fix more spots where we had PerlIO_stderr() and should have had Perl_debug_log instead. Date: Fri, 23 Aug 1996 17:26:42 -0400 (EDT) From: Chip Salzenberg Subject: Minor potential bug in AV creation I wasn't the one who originated this patch. But it looks like it would improve the safety of AV creation. Remove potentially incorrect casts on PerlIO_set_ptrcnt. 'ptr' is already STDCHAR, which is supposed to be the type of char used in stdio.h, so we shouldn't have to cast it. Index: t/io/read.t Clear any buffer space exposed by by read(). This is almost certainly a bug-fix. Index: t/lib/db-btree.t Update to DB_File 1.03. Index: t/lib/db-hash.t Update to DB_File 1.03. Index: t/lib/db-recno.t Update to DB_File 1.03. Index: t/lib/io_sock.t From: Lupe Christoph Subject: Perl 5.003.03: race condition in t/lib/io_sock.t io_sock.t works by forking a subprocess it can communicate with. It has the subprocess wait for the main process by sleeping 10 seconds or until an alarm arrives. With my setup, the alarm signal arrives *before* the child has a chance to ignore the alarm signal. I fixed this by moving the "$SIG{ALRM} = sub {};" up before the fork. It does not hurt to have the parent ignore alarms, too. Index: t/op/inc.t One last LONG & co. fix (yet another cut'n'paste error) and a few minor cleanups. Nothing crucial. Index: t/op/misc.t Date: Thu, 29 Aug 1996 15:14:51 +0200 From: Sven Verdoolaege Subject: more TIEHANDLE This adds support for a READLINE method. Index: t/op/pack.t Date: Tue, 3 Sep 1996 17:49:22 -0400 (EDT) From: Kenneth Albanowski Subject: Pack Patch (was Re: 5.002 - pack/unpack does not do "I" right) Index: t/op/ref.t From: Gurusamy Sarathy Subject: Re: \ ( @array ) busted for lexical @array (once more) Index: universal.c Date: Thu, 29 Aug 96 07:05:10 BST From: Graham Barr Subject: Re: UNIVERSAL::class busted yes, but I also noticed that this does not check that the reference is an object, so the patch should be Index: unixish.h Change comment style so that IBM's picky xlc compiler doesn't think we've mistakenly tried to nest comments. Index: util.c One last LONG & co. fix (yet another cut'n'paste error) and a few minor cleanups. Nothing crucial. Index: utils/h2xs.PL Date: Fri, 6 Sep 1996 06:09:20 -0400 (EDT) From: Ilya Zakharevich Subject: updated h2xs Changes: a) Docs and examples for -x updated; b) Path to xxxx.h would not be changed to /usr/include/xxxx.h unless this file exists (outside of VMS, I'm afraid to make an error there). - Useful with -x option, when the file may be eaten via -I inside -F. c) .h file would be scanned only if needed. d) typemap would be generated (with T_PTROBJ). e) Documentation (=list) for autogenerated guys would be included into POD. f) duplicated XSUBs would not be generated; g) arguments to XSUBs being arrays are recognized (note that xsubpp would probably choke on such guys). -x option requires C-Scan-0.3 (releases a couple of minutes ago to ftp://ftp.math.ohio-state.edu/pub/users/ilya/perl should propagate to CPAN soon). Index: utils/perlbug.PL Fix typo $Config{'has_sockets'} ought to be $Config{'d_socket'}; Index: utils/perldoc.PL More choices in the pager war. Unfortunately, we can't rely on all users agreeing with the Sysadmin's choice, nor can we assign a default preference order, since opinions vary. If the user doesn't have $ENV{PAGER} set, we do want to pick up one that at least works, so we'll try whatever Configure found. Index: vms/Makefile VMS 5.003_05 Update. Index: vms/config.vms VMS 5.003_05 Update. Index: vms/descrip.mms VMS 5.003_05 Update. Index: vms/ext/Stdio/Stdio.pm VMS 5.003_05 Update. Index: vms/ext/filespec.t VMS 5.003_05 Update. Index: vms/gen_shrfls.pl VMS 5.003_05 Update. Index: vms/perlvms.pod VMS 5.003_05 Update. Index: vms/vms.c VMS 5.003_05 Update. Index: vms/vmsish.h VMS 5.003_05 Update. ---------------- Version 5.003_04 ---------------- This patch was primarily to fix bugs and to clean up some of the changes made in 5.003_03. The details are described below. A very brief summary is: o Visible Changes to Core Functionality -Allow and document permissions for FileHandle::new and IO::File::new. -glob in Safe compartment used to allow shell access; now it's in the same category as `` and system(). o Configure and build enhancements -perl library name is again -lperl, not -lperl5 in some cases. -Several hint files no longer set -g -DDEBUGGING by default. Instead, they just turn off optimization, since that is probably what was intended. -Include OS/2 and Plan9 updates. o Bug fixes -SEGV with $_[0] and circular references fixed. -Ilya's debugger patch. -FAKE typeglobs fixed. -truncate with file name now works. -lval substr() no longer coredumps with refs -lval substr now clears lexicals in re-entered scopes. -core dump in caller() for signal handler for __DIE__. o Specific Changes Here are the specific file-by-file changes. # This is my patch perl5.003_04.pat to perl5.003_03 # The full description is below. # Please execute the following commands before applying this patch. # (You can feed this patch to 'sh' to do so.) # Andy Dougherty # Obsolete perl4 hint file. rm -f hints/dnix.sh # Obsolete rm -f os2/notes # We'll create a new test, but patch won't automatically make it # executable. touch t/op/gv.t chmod +x t/op/gv.t exit 0 This is patch perl5.003_04.pat to perl version 5.003_03. This takes you from 5.003_03 to 5.003_04. To apply this patch, run the above commands, cd to your perl source directory and then type patch -p1 -N < perl5.003_04.pat The changes are described after each /^Index/ line below. This is designed so you can examine each change with a command such as csplit -k perl5.003_04.pat '/^Index:/' '{99}' Patch and enjoy, Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College, Easton PA 18042 Index: Changes Updated for 5.003_04. Index: Configure Change name of shared libperl library back to libperl.so.xxx, so that a simple -lperl picks up either libperl.a or libperl.so.xxx. Check if $sh='' in case we've reloaded an old config.sh Index: INSTALL Change name of shared perl library to libperl, instead of libperl5. Add notes about fragility of shared libperl and the usefulness of archlib to separate different binaries. Index: MANIFEST os2/notes removed obsolete hints/dnix.sh removed. New typeglob test. Index: Makefile.SH For building shared libperl, relocate whole rule to inside the if test -f $osname/Makefile.SHs case. Index: Porting/Glossary Updated. Index: README.os2 Updated. Index: av.c Subject: Re: SEGV with $_[0] and circular references Subject: random cleanup This patch removes a few obvious redundancies in the source. Index: config_H Updated. Note new comments to make AIX happy. Index: config_h.SH Change /*#define../**/ into /*#define../ **/ to make IBM's xlc compiler shut up about nested comments. The /*#define FOO /**/ is a perfectly legal un-nested comment, and I wish IBM would fix it's blasted compiler instead. In the meantime we'll take mercy on the poor AIX user and get rid of the screenfulls of stupid warning messages. Thanks to Hallvard B Furuseth for the fix. Index: dump.c This patch changes neither behavior nor performance. However, it does reduce code size and improve maintainability by combining some common code in gv_fullname() and gv_efullname(). Index: ext/FileHandle/FileHandle.pm This patch documents the behavior of FileHandle::{new,open} with regard to open modes. It also documents the exportation of Fcntl constants. This patch fixes a bug observed by Tom Christiansen: FileHandle::new didn't allow for file permissions after the file mode. Here's a patch. Index: ext/IO/lib/IO/File.pm This patch fixes a bug observed by Tom Christiansen: IO::File::new didn't allow for file permissions after the file mode. Here's a patch. This patch documents the behavior of IO::File::{new,open} with regard to open modes. It also documents the exportation of Fcntl constants. Index: ext/Opcode/Opcode.pm Subject: Re: glob in Safe compartment allows shell access I've moved the glob op into the same opcode tag as backticks and system and added a comment. Index: gv.c This patch changes neither behavior nor performance. However, it does reduce code size and improve maintainability by combining some common code in gv_fullname() and gv_efullname(). Index: handy.h Subject: Patch for LONG_MAX & co. Sorry about adding yet another #ifdef forest, but hopefully this should resolve the *_MAX issues permanently. It adds to the previously defined PERL_LONG_MAX, PERL_LONG_MIN, and PERL_ULONG_MAX symbols the complete set of /PERL_U?(CHAR|SHORT|INT|LONG)_(MAX|MIN)/, and installs aliases to those from /(I|U)(8|16|32|V)_(MAX|MIN)/ so that for any standard Perl typedef, like I32 or UV, you can reference I32_MAX or UV_MIN, and get appropriate figures. All references to LONG_(MIN|MAX) are changed appropriately. The .c changes have the side effect of making cast_uv properly use quad limits if quads are in use, but longs aren't 64 bit. Hopefully this all works, but I don't have any handy Crays to try it out on. Add notes on perl's internal types, specifically Quad_t and IV. Index: hints/hpux.sh Remove the d_bsdpgrp hint. The defaults should be ok. Index: hints/irix_6_2.sh Change optimize=-g to optimize=none to avoid pulling in -DDEBUGGING, unless that's what the user really wants. Index: hints/mpeix.sh Change optimize=-g to optimize=none to avoid pulling in -DDEBUGGING, unless that's what the user really wants. Index: hints/os2.sh Fixes for sh vs. bin_sh + cleanup. Index: hints/ultrix_4.sh Don't call optimize=-g, just call optimize=none. The -g pulls in -DDEBUGGING, which might not be wanted. Index: lib/ExtUtils/MM_Unix.pm .C$(obj_ext) removed under OS/2 - conflicts with .c$(obj_ext). Index: lib/ExtUtils/xsubpp Fix SCOPE? (See pod/perlxs.pod). Up version number to 1.938. Index: lib/Test/Harness.pm Add a return value to runtests - non-zero if all tests ran ok, zero otherwise. Index: lib/perl5db.pl Ilya's debugger patch. Undefined subroutine &Carp::longmess called at /opt/perl5.003_03/lib/perl5db.pl line 1423. Make perl5db compatible with the recent 'strict refs' enforcement in %SIG. Index: malloc.c A patch to perl5.003_02/malloc to give a sensible error abort() message in ANSI C, and to give it to stderr instead of stdout. Use config_h's STRINGIFY macro instead of pre-ANSI "p". Index: mg.c Subject: FAKE typeglobs seriously busted (with patch) Handling of fake typeglobs (scalars that are really globs in disguise) is seriously busted since 5.002 (it wasn't so in 5.001n). The problem is that mg_get() on a glob calls gv_efullname() which might coerce its first arg to a string. Sub-critical patch to conceivably fix some %SIG problems. (Shared hash key weren't being properly detected by some of the sig magic, but as shared hash keys wouldn't normally be used in %SIG it's unlikely this is a significant problem.) This patch changes neither behavior nor performance. However, it does reduce code size and improve maintainability by combining some common code in gv_fullname() and gv_efullname(). Index: myconfig Update perlio-related variables. Index: op.c This patch changes neither behavior nor performance. However, it does reduce code size and improve maintainability by combining some common code in gv_fullname() and gv_efullname(). Index: opcode.h Updated. See opcode.pl. Index: opcode.pl Subject: Re: truncate with file name does not work (with patch) The prototype for truncate was changed so that perl won't die with C when the first arg is a bareword (filehandle). I think it was Tom (as in "tchrist") who brought this up. Here's a patch that undoes the damage, makes it work with C, and adds to the testsuite. Index: os2/Makefile.SHs perllib vs. LIBPERL Index: os2/diff.configure Updated. Index: os2/os2.c SH_PATH_INI vs. BIN_SH Index: os2/os2ish.h SH_PATH_INI added (needed to redefine SH_PATH for binary distribution). SH_PATH is redefined. Index: patchlevel.h SUBVERSION 4. Index: perl.h Subject: Patch for LONG_MAX & co. Sorry about adding yet another #ifdef forest, but hopefully this should resolve the *_MAX issues permanently. It adds to the previously defined PERL_LONG_MAX, PERL_LONG_MIN, and PERL_ULONG_MAX symbols the complete set of /PERL_U?(CHAR|SHORT|INT|LONG)_(MAX|MIN)/, and installs aliases to those from /(I|U)(8|16|32|V)_(MAX|MIN)/ so that for any standard Perl typedef, like I32 or UV, you can reference I32_MAX or UV_MIN, and get appropriate figures. All references to LONG_(MIN|MAX) are changed appropriately. The .c changes have the side effect of making cast_uv properly use quad limits if quads are in use, but longs aren't 64 bit. Hopefully this all works, but I don't have any handy Crays to try it out on. Add notes on perl's internal types, specifically Quad_t and IV. Index: perlio.c Removes an incorrect prototype for setlinebuf from perlio.c because it conflicts with the correct declaration in MachTen's stdio.h (and possibly other stdio's as well). Secondly, the code in perlio.c is not handling the (!PERLIO_IS_STDIO & HAS_F[GS]ETPOS) case. The patch fixes this omission (in a rather lumpen manner). I don't think this should affect platforms which try to hack a different path through the #ifdef forest, but this assertion would benefit from testing... Dominic Dunlop Index: plan9/config.plan9 Updated. Index: plan9/fndvers Updated. Index: plan9/mkfile Updated. Index: plan9/setup.rc Updated. Index: pod/perldiag.pod Subject: lval substr() coredumps with refs (with patch) substr() coredumps with a target that is a ref, when it is used in an lvalue context. The patch below corrects the problem by stringifying the reference first (and emitting a warning when appropriate). Index: pod/perlxs.pod document xsubpp SCOPE: Index: pp.c Subject: lval substr() fails to clear lexicals in re-entered scopes (with patch) substr() in lvalue context interacts in buggy fashion with SVs that are !SvOK. This manifests itself with lexicals that have a REFCNT of 1, since these are merely "cleared in place" by setting SvOK_off. Subject: lval substr() coredumps with refs (with patch) substr() coredumps with a target that is a ref, when it is used in an lvalue context. The patch below corrects the problem by stringifying the reference first (and emitting a warning when appropriate). Subject: Patch for LONG_MAX & co. Index: pp_ctl.c This patch changes neither behavior nor performance. However, it does reduce code size and improve maintainability by combining some common code in gv_fullname() and gv_efullname(). Index: pp_hot.c Subject: Patch for LONG_MAX & co. This patch changes neither behavior nor performance. However, it does reduce code size and improve maintainability by combining some common code in gv_fullname() and gv_efullname(). Index: pp_sys.c This patch changes neither behavior nor performance. However, it does reduce code size and improve maintainability by combining some common code in gv_fullname() and gv_efullname(). Index: proto.h This patch changes neither behavior nor performance. However, it does reduce code size and improve maintainability by combining some common code in gv_fullname() and gv_efullname(). Index: run.c This patch changes neither behavior nor performance. However, it does reduce code size and improve maintainability by combining some common code in gv_fullname() and gv_efullname(). Index: sv.c Subject: random cleanup This patch removes a few obvious redundancies in the source. Subject: sv_setsv patch This patch changes neither behavior nor performance. However, it does reduce code size and improve maintainability by combining some common code in gv_fullname() and gv_efullname(). From: Chip Salzenberg Subject: Track SVs for destruction when -DPURIFY When checking for memory leaks, I compiled Perl with "-DPURIFY". Although that flag improves the leak checking, it also breaks destruction of global objects, because SVs aren't kept in captive arenas any more. This patch rectifies the problem by providing an alternative method for keeping track of SVs when Perl is compiled for Purify. It has no effect on normal operation. Add comment about assert(len >=0) when len is unsigned anyway. Index: t/io/fs.t Subject: Re: truncate with file name does not work (with patch) The prototype for truncate was changed so that perl won't die with C when the first arg is a bareword (filehandle). I think it was Tom (as in "tchrist") who brought this up. Here's a patch that undoes the damage, makes it work with C, and adds to the testsuite. The "not implemented" branch is missing a "\n". Index: t/op/gv.t Subject: FAKE typeglobs seriously busted (with patch) Handling of fake typeglobs (scalars that are really globs in disguise) is seriously busted since 5.002 (it wasn't so in 5.001n). The problem is that mg_get() on a glob calls gv_efullname() which might coerce its first arg to a string. Index: t/op/substr.t Subject: lval substr() fails to clear lexicals in re-entered scopes (with patch) substr() in lvalue context interacts in buggy fashion with SVs that are !SvOK. This manifests itself with lexicals that have a REFCNT of 1, since these are merely "cleared in place" by setting SvOK_off. Subject: lval substr() coredumps with refs (with patch) substr() coredumps with a target that is a ref, when it is used in an lvalue context. The patch below corrects the problem by stringifying the reference first (and emitting a warning when appropriate). Index: toke.c Subject: Re: truncate with file name does not work (with patch) The prototype for truncate was changed so that perl won't die with C when the first arg is a bareword (filehandle). I think it was Tom (as in "tchrist") who brought this up. Here's a patch that undoes the damage, makes it work with C, and adds to the testsuite. Index: util.c Subject: Re: Perl 5.003 dumps core executing caller() in signal handler for __DIE__ (with patch) sv_2pv() might call croak() (which is not prepared to handle that when it calls sv_2pv(), itself). Likewise for warn() (but under slightly more esoteric circumstances--mg_get() in sv_2pv() might trigger a call to warn()). Subject: Patch for LONG_MAX & co. PERL_BADLANG is examined by default before issuing a warning during internationalization. Index: utils/h2xs.PL Make leading =head NAME item a paragraph so pod2man finds it. Index: utils/perldoc.PL Use col -x to filter out half-line feeds (ESC-9) from HP-UX nroff -man output. (col -x isn't portable -- SunOS doesn't support the -x option.) ---------------- Version 5.003_03 ---------------- Most of the changes in 5.003_03 are to make the build and installation process more robust. The details are described below. A very brief summary is: o Visible Changes to Core Functionality -Support for tied filehandles. o Configure enhancements -How to build and install a shared libperl.so is now documented and supported, though it's not the default for most platforms. o Bug fixes -Support bit operations on strings longer than 15 bytes. -If a regex supplied to split() contains paranthesized subpatterns that can result in null matches, perl no longer coredumps. -Fix problems with each() on tied hashes. -Make h2ph architecture-independent by using Config at run-time rather than extraction time. o Specific Changes Here are the specific file-by-file changes. # This is my patch perl5.003_03.pat to perl5.003_02 # The full description is below. # Please execute the following commands before applying this patch. # (You can feed this patch to 'sh' to do so.) # Andy Dougherty # Absorbed into Changes5.002 rm -f Changes.Conf # Not needed. rm -f ext/POSIX/mkposixman.pl # Moved to README.os2. I'm not sure why the README files are # here rather than in the appropriate subdirectories. rm -f os2/README # Not needed. rm -f pod/Makefile.PL # New test for bit ops. touch t/op/bob.t # Patches that create new tests don't always make them executable. chmod +x t/*/*.t # Create a new directory for Porting and Patching info. mkdir Porting exit 0 This is patch perl5.003_03.pat to perl version 5.003_02. This takes you from 5.003_02 to 5.003_03. To apply this patch, run the above commands, cd to your perl source directory and then type patch -p1 -N < perl5.003_03.pat The changes are described after each /^Index/ line below. This is designed so you can examine each change with a command such as csplit -k perl5.003_03.pat '/^Index:/' '{99}' Patch and enjoy, Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College, Easton PA 18042 Index: Changes Include 5.003_03 change notes. Move older change notes to separate files. Index: Changes5.000 New file. Changes from perl4.036 to 5.000. Index: Changes5.001 New file. Changes from 5.000 to 5.001 Index: Changes5.002 New file. Changes from 5.001 to 5.002 Index: Changes5.003 New file. Changes from 5.002 to 5.003 Index: Configure Relaxed warning about ksh on exotic machines. Changed usesafe to useopcode. Add search for gzip and zip. Look more carefully for $sh (the Bourne-ish shell). Use that info to set $startsh correctly. Change prompts for PerlIO interface. See INSTALL for how this is supposed to work. The default is still the same as in 5.003_02, namely don't use any fancy new PerlIO stuff. Don't look for sigvec() since we don't actually use it. (Plus, it used to print an alarming misleading message about race conditions.) Look for stdio's _filbuf under the possible names of _filbuf, __filbuf, and _fill. New $useshrplib variable to control whether we build a shared libperl.so. The name of the library is in $libperl. Always install it in $installarchlib/CORE/$libperl. Check for and for NetBSD. Replace old $altmake stuff with newer autoconf-ish $make_set_make, which checks if $make sets $(MAKE). Now you choose an alternate make with sh Configure -Dmake=gmake (or whatever). Remove 'ln' for the list of essential commands. Simulate it with 'cp' if necessary. Change `logname` prompts to handle extra gratuitous spaces in Ultrix output. Autodetect os2. Fix silly bug in checking for fully-qualified names in /etc/hosts. Generalize Gconvert tests. Give correct and more useful error messages. Use $obj_ext instead of literal '.o' in the dynaloader test. Include appropriate header files in bcopy() and memcpy() tests. Note whether memmove is available. Check whether struct sigaction works (needed for Solaris 2.5 with -Xc). Include appropriate header files for randbits test. Index: INSTALL Add note about space requirements. Update to match Configure changes (Opcode vs. Safe, useperlio, useshrplib, etc.) Reorganize the structure of some of the hints. Miscellaneous clarifications. Index: MANIFEST Updated. 5.003_02 introduced some massive patches, mostly due to spacing changes. I didn't bother to sort them all out; I just started with 5.003's MANIEFST. Index: Makefile.SH Support the new simplified shared libperl mechanism. Use new $make_set_make directive. Remove redundant libperl Make variable. Remove unnecessary MAB variable. Remove dependency of minitest on lib/Config.pm, since it could well have been a failure of configpm that inspired testing miniperl in the first place! Index: Porting/Glossary New file describing all the config.sh variables. Eventually, I hope to fill this directory with other useful stuff. Index: README.os2 Replace old README.os2 with more up-to-date os2/README. Index: config_H Updated to match current Configure and config_h.SH. Some rearrangement of parts has occurred due to new dependencies in the metaconfig units. Index: config_h.SH Updated to match current Configure and config_h.SH. Some rearrangement of parts has occurred due to new dependencies in the metaconfig units. Include full descriptions of ARCHLIB, OLDARCHLIB, PRIVLIB, SITEARCH, and SITELIB. Previous versions just included the ~-expanded names (with unhelpful descriptions). No functionality is changed, but maybe it's a little better documented now. Index: doio.c Possibly Include and Index: doop.c No longer prefer bcmp over memcmp when order doesn't matter. Support bit operations on strings longer than 15 bytes. Index: embed.h Auto-generated. Index: embed.pl Expand warning at the top. Index: ext/IO/IO.pm Clean up docmentation installation errors. Index: ext/IO/lib/IO/Seekable.pm Clean up docmentation installation errors. Index: ext/IO/lib/IO/Select.pm Clean up docmentation installation errors. Index: ext/Opcode/Opcode.xs Add support for tied filehandles. Index: ext/SDBM_File/sdbm/sdbm.h Change the Mymalloc to match Perl_malloc in perl.h. Index: ext/util/make_ext Typo change. Get rid of unused altmake. Index: global.sym Fix problems with each() on tied hashes. Index: handy.h Change safe*alloc functions to have prototypes that match the system's malloc and free types. That is, use Malloc_t instead of char *, and Free_t instead of void. This is necessary so . . . Safefree cast matches type of free() whether it's perl's malloc/free or the system's malloc/free. Index: hints/README.hints Remove out-of-date info. Document a bit about how hint files work. Index: hints/aix.sh qmaxmem hint doesn't apply to gcc. Index: hints/dgux.sh Configure will now automatically detect shared libperl stuff. Index: hints/dynixptx.sh Fix typo in comment. Configure will now automatically detect shared libperl stuff. Index: hints/epix.sh Use glibpth instead of libpth. This allows Configure to add local directories, such as /opt/local/lib, etc. Index: hints/irix_6_2.sh Include some info on cc -n32 compile. Index: hints/linux.sh Configure now tests gcvt() more thoroughly. Index: hints/machten_2.sh Update where to find dld. Index: hints/mips.sh Use glibpth instead of libpth. Index: hints/next_3.sh Build up $mab dynamically. Since $mab isn't used anywhere anymore, this is useless. However, $mab was never used for next_3.sh anyway, so there's been no change in functionality. Index: hints/next_4.sh Get rid of extraneous isnext_4 variable. Configure and Makefile.SH will use $osname and $osvers instead. Build up $mab dynamically based on available architectures. Absorb $mab into ccflags and ccdlflags. I hope that will cover everything. (Configure should automatically remove the -arch stuff from cppflags.) Configure now knows next4 needs to use a shared libperl.5.so. Allow users to use -Dprefix. Index: hints/os2.sh Try to update to reflect newer shared libperl stuff. I probably goofed :-). Index: hints/sco.sh Additional notes on using icc. Additional flags for dynamic loading. Index: hints/solaris_2.sh Perl.h no longer prefers bcmp, so it's again ok if Configure finds them, since perl will prefer the mem* versions anyway. Index: hints/sunos_4_0.sh Don't include Index: hints/sunos_4_1.sh Add brief note about GNU as and ld. Don't include Add notes about WHOA THERE messages. Index: hints/titanos.sh Include sfio in libswanted. Don't set libpth any more. Index: hints/umips.sh New hint file. Index: hv.c Use memcmp even in cases where ordering doesn't matter. Fix problems with each() on tied hashes. Index: installperl Simplify installation of shared libperl.so. Avoid reaching Command Failed!!! with /usr/bin/perl. Index: lib/AutoSplit.pm Clean up docmentation installation errors. Index: lib/ExtUtils/MM_Unix.pm Remove MAB references. Use 'useshrplib' instead of 'd_shrplib' Index: lib/ExtUtils/MakeMaker.pm Remove mab references. Index: lib/FindBin.pm Clean up docmentation installation errors. Index: lib/Symbol.pm Put back in the BEGIN { require 5.002; }. The version in 5.003_02 wouldn't work in 5.002 anyway. Further, the whole point of the construct is to catch 5.001m, so we can't use syntax introduced after 5.001m to do that. Index: lib/Text/Wrap.pm Remove double 'use strict'. Index: lib/perl5db.pl Add explicit '&' to avoid warnings under strict refs. Index: lib/sigtrap.pm Clean up docmentation installation errors. Index: makedepend.SH Use Configure's $sh and $make_set_make variables. Index: mg.c Include Use Safefree() macro instead of safefree() function with a (possibly) incorrect cast. The whole point of the Safefree() macro is that it does the correct cast for you. Index: patchlevel.h Change to SUBVERSION 3. Index: perl.c Include Index: perl.h No longer prefer bcmp slightly for comparisons that don't care about ordering. Rely on Configure setting SH_PATH. Change the function name to Pause() instead of pause() to avoid potential prototype problems. (This naming convention is similar to the Fwrite and Fflush macros.) Fix problems with each() on tied hashes. Work around crypt prototype problem on NeXT. Index: perlio.c Fixes to support non-std stdio. Index: perlio.h Try to document the various #defines a bit. This is far from finished. Remove a lot of trailing whitespace. (It's of no consequence, but but I'm not going to redo the patch just to put back in the trailing whitespace either.) Index: perlsdio.h Fixes to support non-std stdio. Index: perly.c Restore use of Safefree() macro. Index: perly.c.diff Restore use of Safefree() macro. Index: perly.h Delete duplicate line. Index: plan9/buildinfo Update. Index: pod/perlapio.pod Clean up docmentation installation errors. Index: pod/perlipc.pod Fix typo. Untaint port number. Index: pod/perlmod.pod Fix a minor nit regarding Exporter. Index: pod/perlre.pod Clean up docmentation installation errors. Index: pod/perltie.pod Add support for tied filehandles. Index: pod/perltrap.pod Clean up docmentation installation errors. Index: pod/perlxstut.pod Clean up docmentation installation errors. Index: pod/pod2man.PL Clean up docmentation installation errors. Index: pp.c Add support for tied filehandles. If a regex supplied to split() contains paranthesized subpatterns that can result in null matches, perl coredumps. Index: pp_hot.c Use memcmp instead of bcmp even when we don't care about order. Add support for tied filehandles. Index: pp_sys.c Include , , and . (The latter two are especially for NetBSD.) Don't assume sys/time.h and sys/select.h can't coexist. Use Pause macro. Index: proto.h Fix safe*alloc and safefree prototypes. Index: regexec.c Use memcmp instead of bcmp even when we don't care about order. Index: sv.c Use memcmp instead of bcmp even when we don't care about order. Index: t/lib/opcode.t Add support for tied filehandles. Index: t/op/bop.t Support bit operations on strings longer than 15 bytes. Index: t/op/misc.t Add support for tied filehandles. Index: t/op/split.t If a regex supplied to split() contains paranthesized subpatterns that can result in null matches, perl coredumps. Index: toke.c Include . Use memcmp instead of bcmp even when we don't care about order. Index: util.c Include . Use correct types for safe*alloc and safefree functions. Index: utils/h2ph.PL Make h2ph architecture-independent by using Config at run-time rather than extraction time. Index: writemain.SH Remove unnecessary curlies. (They are a leftover from an older auto_init mechanism.) Index: x2p/Makefile.SH Use Configure's $sh and $make_set_make. Remove MAB stuff, since it's now in ccflags. Keep 5.003's RCS info. Index: x2p/a2p.h Keep 5.003's RCS info. Index: x2p/str.c Use Configure's FILE_filbuf macro instead of a raw _filbuf. ---------------- Version 5.003_02 ---------------- o Visible Changes to Core Functionality - Redefining constant subs, or changing sub's prototype now give warnings. - Fixes for ++/-- of values close to max/min size of an integer - Warning for un-qualified bareword as handler in $SIG{}. - UNIVERSAL::isa can now be called as static method. o Changes in Core Internals - PerlIO abstraction added. Perl core and standard extensions no longer assume ANSI C's stdio is IO mechanism, Default Configure mode is still to use stdio via set of C macros. Alternate modes are to use stdio via one perlio.c module, or to use sfio if available. - Several bug fixs from perl5-porters - Make sources non-ANSI C correct again. - SUPER in gv.c - Last of shared-hash-key patches - eval '(0,1..3)'; # --> SegFault - coredumps after simple subsitutes. - Correction to UNIVERSAL::VERSION docs. - Fixed io_udp test. - Fixed another abuse of malloc'ed memory. - Enabled DEBUGING_MSTATS whenever perl's malloc() is used. - Reverted to default of not hiding perl's malloc (if used). o Changes in the Standard Library and Utilities - Fixed MakeMaker for static SDBM and builing in a link tree. - Upgraded to IO-1.09, and includes latest (still experimental) IO::Select. - Documentation/test tweak to DB_File - h2xs upgrade to allow use C::Scan module o Changes in OS-specific and Build-time Support - Attempted to re-created 5.003_01's NeXT support with metaconfig units. - Updated MANIFEST - make minitest now depends on lib/Config.pm, as some of tests require it. - Included latest plan9 sub-directory - Applied OS/2 patches. - Typo patch for VMS. ---------------- Version 5.003_01 ---------------- Version 5.003_01 contains bugfixes and additions accumulated since version 5.002_01, since the patch to version 5.003 was deliberately kept simple. In addition to numerous small bugfixes in the core, library files, and documentation, this patch contains several significant revisions, summarized below: o Visible Changes to Core Functionality - A port to Plan9 has been started, and changes are integrated into the standard distribution. As of this release, the Perl core and several common extensions are working. - A set of basic methods in the UNIVERSAL class have been added to the Perl core. Since UNIVERSAL is an implicit member of every class's @ISA, the methods can be called via any object. - A mandatory warning has been added for 'declarations' of lexical variables using the "my" operator which mask an existing lexical variable declared in the same scope, making the previous variable inaccessible by its name. - The "use" and "require" operators have been extended to allow checking of the required module's version. The "use" operator can now be used for an immediate version check of Perl itself. - A new "strict" pragma, "strict untie", has been added, which produces an error if a tied value is untied when other references exist to the internal object implementing the tie. - Barewords used as associative array keys (i.e. when specifying an associative array element like $foo{__BAR} or on the left side of the => operator) may now begin with an underscore as well as an alphabetic character. - Some of the configuration information previously produced by the -v switch has been moved to the -V switch, in order to keep -v output concise. o Changes in Core Internals - Symbol table and method lookups have been made faster. - Perl subroutines which just return a constant value are now optimized at compile time into inline constants. - Management of keys for associative arrays has been improved to conserve space when the same keys are reused frequently, and to pass true Perl values to tie functions, instead of stringified representations. - Messages normally output to stderr may be directed to another stream when Perl is built. This allows some platforms to present diagnostic output in a separate window from normal program results. - A bug which caused suiperl to fail silently, albeit securely, in version 5.003 on some systems has been fixed. - Management of Unix-style signal handlers via the %SIG associative array has been made safer. - Several global C symbols have been renamed to eliminate collisions with system C header files or libraries on some platforms. Unfortunately, this means that dynamic extensions compiled under previous versions of Perl will need to be rebuilt for Perl 5.003_01. We're in the process of cleaning up Perl's C namespace to make it easier to link Perl with other binaries, so this will probably happen again between now and version 5.004. After that, we'll do our best to maintain binary compatibility between versions. - An alternate allocation strategy has been added to Perl's optional private memory management routines. This strategy, which may be selected when Perl is built, is designed to conserve memory in programs which allocate many small chunks of memory with sizes near a power of 2, as is often the case in Perl programs. - Several memory leaks in the creation and destruction of multiple interpreters have been fixed. o Changes in the Standard Library and Utilities - The Opcode extension, which allows you to control a program's access to Perl operations, has been added to the standard distribution. This extends the work begun in the original Safe extension, and subsumes it. The Safe interface is still available. - The IO extension, which provides a set of classes for object- oriented handling of common I/O tasks, has been added to the standard distribution. The IO classes will form the basis for future development of Perl's I/O interface, and will subsume the FileHandle class in the near future. The default class to which all Perl I/O handles belong is now IO::Handle, rather than FileHandle. - The ExtUtils::Embed library module, which provides a set of utility function to help in embedding Perl in other applications, has been added to the standard distribution. - The Fatal library module, which provides a simple interface for creating "do-or-die" equivalents of existing functions, has been added to the standard distribution. - The FindBin library module, which determines the full path to the currently executing program, has been added to the standard distribution. - The DB_File extension, and the Getopt::Long, Test::Harness, Text::Tabs, Text::Wrap, Time::Local and sigtrap library modules have been updated to the authors' latest versions. - The Carp library module now considers the @ISA chain when determining the caller's package for inclusion in error messages. - The h2xs, perlbug, and xsubpp utilities have been updated. - The standard Perl debugger has been updated, and the information provided to the debugger when an XSUB is called has been improved, making it possible for alternate debuggers (such as Devel::DProf) to do a better job of tracking XSUB calls. - The pod documentation formatting tools in the standard distribution can now handle characters in the input stream whose high bit is set. - The cperl-mode EMACS editing mode has been updated. o Changes in Documentation - Typographic and formatting errors have been corrected in the pod documentation for the core and standard library files - Explanations of several core operators have been improved - The perldebug, perlembed, perlipc, perlsec, and perltrap documents extensively revised. o Changes in OS-specific and Build-time Support - Support for the NeXT platform has been extended through NeXTSTEP/OPENSTEP 4.0, and now includes the ability to create MABs. - Support for OS/2 has been extended as well, and now includes options for building a.out binaries. - Support for VMS has also been extended, incorporating improved processing of file specification strings, optional suppression of carriage control interpretation for record-structured files, improved support for the -S command line switch, a number of VMS-specific bugfixes, and significantly improved performance in line-oriented reading of files. - Several hints files have been added or updated: aux.sh (updated), convexos.sh (updated), irix_4.sh (updated), irix_5.sh (updated), irix_6_2.sh (updated), next_3.sh (updated), next_3_2.sh (new), next_3_3.sh (new), next_4.sh (new), os2/sh (updated), sco.sh (updated), and solaris_2.sh (updated). - The test driver for the regression tests now reports when a set of tests have been skipped (presumable because the operation they're designed to test isn't supported on the current system).