X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=39e860e23b857579709487af7e263c9421fd20e0;hb=9a200e1b073bb063f06b3f44c2c596ce14d3211a;hp=72a76032cc77d6324cdd7264eba8423df5efce49;hpb=a5f75d667838e8e7bb037880391f5c44476d33b4;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Changes b/Changes index 72a7603..39e860e 100644 --- a/Changes +++ b/Changes @@ -1,2880 +1,4986 @@ -------------- -Version 5.002 -------------- - -The main enhancement to the Perl core was the addition of prototypes. -Many of the modules that come with Perl have been extensively upgraded. - -Other than that, nearly all the changes for 5.002 were bug fixes of one -variety or another, so here's the bug list, along with the "resolution" -for each of them. If you wish to correspond about any of them, please -include the bug number (if any). - -Added APPLLIB_EXP for embedded perl library support. -Files patched: perl.c - -Couldn't define autoloaded routine by assignment to typeglob. -Files patched: pp_hot.c sv.c - -NETaa13525: Tiny patch to fix installman -n -From: Larry Wall -Files patched: installman - -NETaa13525: de-documented \v -Files patched: pod/perlop.pod pod/perlre.pod - -NETaa13525: doc changes -Files patched: pod/perlop.pod pod/perltrap.pod - -NETaa13525: perlxs update from Dean Roehrich -Files patched: pod/perlxs.pod - -NETaa13525: rename powerunix to powerux -Files patched: MANIFEST hints/powerux.sh - -NETaa13540: VMS uses CLK_TCK for HZ -Files patched: pp_sys.c - -NETaa13721: pad_findlex core dumps on bad CvOUTSIDE() -From: Carl Witty -Files patched: op.c sv.c toke.c - Each CV has a reference to the CV containing it lexically. Unfortunately, - it didn't reference-count this reference, so when the outer CV was freed, - we ended up with a pointer to memory that got reused later as some other kind - of SV. - -NETaa13721: warning suppression -Files patched: toke.c - (same) - -NETaa13722: walk.c had inconsistent static declarations -From: Tim Bunce -Files patched: x2p/walk.c - Consolidated the various declarations and made them consistent with - the actual definitions. - -NETaa13724: -MPackage=args patch -From: Tim Bunce -Files patched: perl.c pod/perlrun.pod - Added in the -MPackage=args patch too. - -NETaa13729: order-of-evaluation dependency in scope.c on leaving REGCONTEXT -From: "Jason Shirk" -Files patched: scope.c - Did - - I32 delta = SSPOPINT; - savestack_ix -= delta; /* regexp must have croaked */ - - instead. - -NETaa13731: couldn't assign external lexical array to itself -From: oneill@cs.sfu.ca -Files patched: op.c - The pad_findmy routine was only checking previous statements for previous - mention of external lexicals, so the fact that the current statement - already mentioned @list was not noted. It therefore allocated another - reference to the outside lexical, and this didn't compare equal when - the assigment parsing code was trying to determine whether there was a - common variable on either side of the equals. Since it didn't see the - same variable, it thought it could avoid making copies of the values on - the stack during list assignment. Unfortunately, before using those - values, the list assignment has to zero out the target array, which - destroys the values. - - The fix was to make pad_findmy search the current statement as well. This - was actually a holdover from some old code that was trying to delay - introduction of "my" variables until the next statement. This is now - done with a different mechanism, so the fix should not adversely affect - that. - -NETaa13733: s/// doesn't free old string when using copy mode -From: Larry Wall -Files patched: pp_ctl.c pp_hot.c - When I removed the use of sv_replace(), I simply forgot to free the old char*. - -NETaa13736: closures leaked memory -From: Carl Witty -Files patched: op.c pp.c - This is a specific example of a more general bug, fixed as NETaa13760, having - to do with reference counts on comppads. - -NETaa13739: XSUB interface caches gimme in case XSUB clobbers it -From: Dean Roehrich -Files patched: pp_hot.c - Applied suggest patch. Also deleted second gimme declaration as redundant. - -NETaa13760: comppad reference counts were inconsistent -From: Larry Wall -Files patched: op.c perl.c pp_ctl.c toke.c - All official references to comppads are supposed to be through compcv now, - but the transformation was not complete, resulting in memory leakage. - -NETaa13761: sv_2pv() wrongly preferred IV to NV when SV was readonly -From: "Jack R. Lawler" -Files patched: sv.c - Okay, I understand how this one happened. This is a case where a - beneficial fix uncovered a bug elsewhere. I changed the constant - folder to prefer integer results over double if the numbers are the - same. In this case, they aren't, but it leaves the integer value there - anyway because the storage is already allocated for it, and it *might* - be used in an integer context. And since it's producing a constant, it - sets READONLY. Unfortunately, sv_2pv() bogusly preferred the integer - value to the double when READONLY was set. This never showed up if you - just said - - print 1.4142135623731; - - because in that case, there was already a string value. - - -NETaa13772: shmwrite core dumps consistently -From: Gabe Schaffer -Files patched: opcode.h opcode.pl - The shmwrite operator is a list operator but neglected to push a stack - mark beforehand, because an 'm' was missing from opcode.pl. - -NETaa13773: $. was misdocumented as read-only. -From: Inaba Hiroto -Files patched: pod/perlvar.pod - <1.array-element-read-only> - % perl -le '$,=", "; $#w=5; for (@w) { $_=1; } print @w' - Modification of a read-only value attempted at -e line 1. - % perl4 -le '$,=", "; $#w=5; for (@w) { $_=1; } print @w' - 1, 1, 1, 1, 1, 1 - - This one may stay the way it is for performance reasons. - - <2.begin-local-RS> - % cat abc - a - b - c - % perl -e 'BEGIN { local $/ = ""; } print "$.:$_" while <>;' abc - 1:a - b - c - % perl -e '{ local $/ = ""; } print "$.:$_" while <>;' abc - 1:a - 2:b - 3:c - - $/ wasn't initialized early enough, so local set it back to permanently - undefined on exit from the block. - - <3.grep-x0-bug> - % perl -le 'print grep(/^-/ ? ($x=$_) x 0 : 1, "a", "-b", "c");' - a - - % perl4 -le 'print grep(/^-/ ? ($x=$_) x 0 : 1, "a", "-b", "c");' - ac - - An extra mark was left on the stack if (('x') x $repeat) was used in a scalar - context. - - <4.input-lineno-assign> - # perl -w does not complain about assignment to $. (Is this just a feature?) - # perlvar.pod says "This variable should be considered read-only." - % cat abc - a - b - c - % perl -wnle '$. = 10 if $. == 2; print "$.:$_"' abc - 1:a - 10:b - 11:c - - Fixed doc. - - <5.local-soft-ref.bug> - % perl -e 'local ${"a"}=1;' - zsh: 529 segmentation fault perl -e 'local ${"a"}=1;' - - Now says - Can't localize a reference at -e line 1. - - <6.package-readline> - % perl -e 'package foo; sub foo { 1; } package main; $_ = foo::foo(); print' - 1 - % perl -e ' - package readline; sub foo { 1; } package main; $_ = readline::foo(); print' - Undefined subroutine &main::foo called at -e line 1. - % perl -e ' - package readline; sub foo { 1; } package main; $_ = &readline::foo(); print' - 1 - - Now treats foo::bar correctly even if foo is a keyword. - - <7.page-head-set-to-null-string> - % cat page-head - #From: russell@ccu1.auckland.ac.nz (Russell Fulton) - #Newsgroups: comp.lang.perl - #Subject: This script causes Perl 5.00 to sementation fault - #Date: 15 Nov 1994 00:11:37 GMT - #Message-ID: <3a8ubp$jrj@net.auckland.ac.nz> - - select((select(STDOUT), $^='')[0]); #this is the critical line - $a = 'a'; - write ; - exit; - - format STDOUT = - @<<<<<< - $a - . - - % perl page-head - zsh: 1799 segmentation fault perl /tmp/page-head - - Now says - Undefined top format "main::" called at ./try line 11. - - <8.sub-as-index> - # parser bug? - % perl -le 'sub foo {0}; $x[0]=0;$x[foo]<=0' - Unterminated <> operator at -e line 1. - % perl -le 'sub foo {0}; $x[0]=0;$x[foo()]<=0' - - A right square bracket now forces expectation of an operator. - - <9.unary-minus-to-regexp-var> - % cat minus-reg - #From: Michael Cook - #Newsgroups: comp.lang.perl - #Subject: bug: print -$1 - #Date: 01 Feb 1995 15:31:25 GMT - #Message-ID: - - $_ = "123"; - /\d+/; - print $&, "\n"; - print -$&, "\n"; - print 0-$&, "\n"; - - % perl minus-reg - 123 - 123 - -123 - - Apparently already fixed in my copy. - - <10.vec-segv> - % cat vec-bug - ## Offset values are changed for my machine. - - #From: augustin@gdstech.grumman.com (Conrad Augustin) - #Subject: perl5 vec() bug? - #Message-ID: <1994Nov22.193728.25762@gdstech.grumman.com> - #Date: Tue, 22 Nov 1994 19:37:28 GMT - - #The following two statements each produce a segmentation fault in perl5: - - #vec($a, 21406, 32) = 1; # seg fault - vec($a, 42813, 16) = 1; # seg fault - - #When the offset values are one less, all's well: - #vec($a, 21405, 32) = 1; # ok - #vec($a, 42812, 16) = 1; # ok - - #Interestingly, this is ok for all high values of N: - #$N=1000000; vec($a, $N, 8) = 1; - - % perl vec-bug - zsh: 1806 segmentation fault perl vec-bug - - Can't reproduce this one. - - -NETaa13773: $/ not correctly localized in BEGIN -Files patched: perl.c - (same) - -NETaa13773: foo::bar was misparsed if foo was a reserved word -Files patched: toke.c toke.c - (same) - -NETaa13773: right square bracket didn't force expectation of operator -Files patched: toke.c - (same) - -NETaa13773: scalar ((x) x $repeat) left stack mark -Files patched: op.c - (same) - -NETaa13778: -w coredumps on <$> -From: Hans Mulder -Files patched: pp_hot.c toke.c - Now produces suggested error message. Also installed guard in warning code - that coredumped. - -NETaa13779: foreach didn't use savestack mechanism -From: Hans Mulder -Files patched: cop.h pp_ctl.c - The foreach mechanism saved the old scalar value on the context stack - rather than the savestack. It could consequently get out of sync if - unexpectedly unwound. - -NETaa13785: GIMME sometimes used wrong context frame -From: Greg Earle -Files patched: embed.h global.sym op.h pp_ctl.c proto.h - The expression inside the return was taking its context from the immediately - surrounding block rather than the innermost surrounding subroutine call. - -NETaa13797: could modify sv_undef through auto-vivification -From: Ilya Zakharevich -Files patched: pp.c - Inserted the missing check for readonly values on auto-vivification. - -NETaa13798: if (...) {print} treats print as quoted -From: Larry Wall -Files patched: toke.c - The trailing paren of the condition was setting expectations to XOPERATOR - rather than XBLOCK, so it was being treated like ${print}. - -NETaa13926: commonality was not detected in assignments using COND_EXPR -From: Mark Hanson -Files patched: opcode.h opcode.pl - The assignment compiler didn't check the 2nd and 3rd args of a ?: - for commonality. It still doesn't, but I made ?: into a "dangerous" - operator so it is forced to treat it as common. - -NETaa13957: was marking the PUSHMARK as modifiable rather than the arg -From: David Couture -Files patched: op.c sv.c - It was marking the PUSHMARK as modifiable rather than the arg. - -NETaa13962: documentation of behavior of scalar <*> was unclear -From: Tom Christiansen -Files patched: pod/perlop.pod - Added the following to perlop: - - A glob only evaluates its (embedded) argument when it is starting a new - list. All values must be read before it will start over. In a list - context this isn't important, because you automatically get them all - anyway. In a scalar context, however, the operator returns the next value - each time it is called, or a FALSE value if you've just run out. Again, - FALSE is returned only once. So if you're expecting a single value from - a glob, it is much better to say - - ($file) = ; - - than - - $file = ; - - because the latter will alternate between returning a filename and - returning FALSE. - - -NETaa13986: split ignored /m pattern modifier -From: Winfried Koenig -Files patched: pp.c - Fixed to work like m// and s///. - -NETaa13992: regexp comments not seen after + in non-extended regexp -From: Mark Knutsen -Files patched: regcomp.c - The code to skip regexp comments was guarded by a conditional that only - let it work when /x was in effect. - -NETaa14014: use subs should not count as definition, only as declaration -From: Keith Thompson -Files patched: sv.c - On *foo = \&bar, doesn't set GVf_IMPORTED if foo and bar are in same package. - -NETaa14021: sv_inc and sv_dec "upgraded" magical SV to non-magical -From: Paul A Sand -Also: Andreas Koenig -Files patched: sv.c - The sv_inc() and sv_dec() routines "upgraded" null magical SVs to non-magical. - -NETaa14086: require should check tainting -From: Karl Simon Berg -Files patched: pp_ctl.c - Since we shouldn't allow tainted requires anyway, it now says: - - Insecure dependency in require while running with -T switch at tst.pl line 1. - -NETaa14104: negation fails on magical variables like $1 -From: tim -Files patched: pp.c - Negation was failing on magical values like $1. It was testing the wrong - bits and also failed to provide a final "else" if none of the bits matched. - -NETaa14107: deep sort return leaked contexts -From: Quentin Fennessy -Files patched: pp_ctl.c - Needed to call dounwind() appropriately. - -NETaa14129: attempt to localize via a reference core dumps -From: Michele Sardo -Files patched: op.c pod/perldiag.pod - Now produces an error "Can't localize a reference", with explanation in - perldiag. - -NETaa14138: substr() and s/// can cause core dump -From: Andrew Vignaux -Files patched: pp_hot.c - Forgot to call SvOOK_off() on the SV before freeing its string. - -NETaa14145: ${@INC}[0] dumped core in debugger -From: Hans Mulder -Files patched: sv.c - Now croaks "Bizarre copy of ARRAY in block exit", which is better than - a core dump. The fact that ${@INC}[0] means $INC[0] outside the debugger - is a different bug. - -NETaa14147: bitwise assignment ops wipe out byte of target string -From: Jim Richardson -Files patched: doop.c - The code was assuming that the target was not either of the two operands, - which is false for an assignment operator. - -NETaa14153: lexing of lexicals in patterns fooled by character class -From: Dave Bianchi -Files patched: toke.c - It never called the dwimmer, which is how it fooled it. - -NETaa14154: allowed autoloaded methods by recognizing sub method; declaration -From: Larry Wall -Files patched: gv.c - Made sub method declaration sufficient for autoloader to stop searching on. - -NETaa14156: shouldn't optimize block scope on tainting -From: Pete Peterson -Files patched: op.c toke.c - I totally disabled the block scope optimization when running tainted. - -NETaa14157: -T and -B only allowed 1/30 "odd" characters--changed to 1/3 -From: Tor Lillqvist -Files patched: pp_sys.c - Applied suggested patch. - -NETaa14160: deref of null symbol should produce null list -From: Jared Rhine -Files patched: pp_hot.c - It didn't check for list context before returning undef. - -NETaa14162: POSIX::gensym now returns a symbol reference -From: Josh N. Pritikin -Also: Tim Bunce -Files patched: ext/POSIX/POSIX.pm - Applied suggested patch. - -NETaa14164: POSIX autoloader now distinguishes non-constant "constants" -From: Tim Bunce -Files patched: ext/POSIX/POSIX.pm ext/POSIX/POSIX.xs - The .xs file now distinguishes non-constant "constants" by setting EAGAIN. - This will also let us use #ifdef within the .xs file to de-constantify - any other macros that happen not to be constants even if they don't use - an argument. - -NETaa14166: missing semicolon after "my" induces core dump -From: Thomas Kofler -Files patched: toke.c - The parser was left thinking it was still processing a "my", and flubbed. - I made it wipe out the "in_my" variable on a syntax error. - -NETaa14166: missing semicolon after "my" induces core dump" -Files patched: toke.c - (same) - -NETaa14206: can now use English and strict at the same time -From: Andrew Wilcox -Files patched: sv.c - It now counts imported symbols as okay under "use strict". - -NETaa14206: can now use English and strict at the same time -Files patched: gv.c pod/perldiag.pod - (same) - -NETaa14265: elseif now produces severe warning -From: Yutao Feng -Files patched: pod/perldiag.pod toke.c - Now complains explicitly about "elseif". - -NETaa14279: list assignment propagated taintedness to independent scalars -From: Tim Freeman -Files patched: pp_hot.c - List assignment needed to be modified so that tainting didn't propagate - between independent scalar values. - -NETaa14312: undef in @EXPORTS core dumps -From: William Setzer -Files patched: lib/Exporter.pm - Now says: - - Unable to create sub named "t::" at lib/Exporter.pm line 159. - Illegal null symbol in @t::EXPORT at -e line 1 - BEGIN failed--compilation aborted at -e line 1. - - -NETaa14312: undef in @EXPORTS core dumps -Files patched: pod/perldiag.pod sv.c - (same) - -NETaa14321: literal @array check shouldn't happen inside embedded expressions -From: Mark H. Nodine -Files patched: toke.c - The general solution to this is to disable the literal @array check within - any embedded expression. For instance, this also failed bogusly: - - print "$foo{@foo}"; - - The reason fixing this also fixes the s///e problem is that the lexer - effectively puts the RHS into a do {} block, making the expression - embedded within curlies, as far as the error message is concerned. - -NETaa14322: now localizes $! during POSIX::AUTOLOAD -From: Larry Wall -Files patched: ext/POSIX/POSIX.pm - Added local $! = 0. - -NETaa14324: defined() causes spurious sub existence -From: "Andreas Koenig" -Files patched: op.c pp.c - It called pp_rv2cv which wrongly assumed it could add any sub it referenced. - -NETaa14336: use Module () forces import of nothing -From: Tim Bunce -Files patched: op.c - use Module () now refrains from calling import at all. - -NETaa14353: added special HE allocator -From: Larry Wall -Files patched: global.sym - -NETaa14353: added special HE allocator -Files patched: hv.c perl.h - -NETaa14353: array extension now converts old memory to SV storage. -Files patched: av.c av.h sv.c - -NETaa14353: hashes now convert old storage into SV arenas. -Files patched: global.sym - -NETaa14353: hashes now convert old storage into SV arenas. -Files patched: hv.c perl.h - -NETaa14353: upgraded SV arena allocation -Files patched: proto.h - -NETaa14353: upgraded SV arena allocation -Files patched: perl.c sv.c - -NETaa14422: added rudimentary prototypes -From: Gisle Aas -Files patched: Makefile.SH op.c op.c perly.c perly.c.diff perly.h perly.y proto.h sv.c toke.c - Message-Id: <9509290018.AA21548@scalpel.netlabs.com> - To: doughera@lafcol.lafayette.edu (Andy Dougherty) - Cc: perl5-porters@africa.nicoh.com - Subject: Re: Jumbo Configure patch vs. 1m. - Date: Thu, 28 Sep 95 17:18:54 -0700 - From: lwall@scalpel.netlabs.com (Larry Wall) - - : No. Larry's currently got the patch pumpkin for all such core perl topics. - - I dunno whether you should let me have the patch pumpkin or not. To fix - a Sev 2 I just hacked in rudimentary prototypes. :-) - - We can now define true unary subroutines, as well as argumentless - subroutines: - - sub baz () { 12; } # Must not have argument - sub bar ($) { $_[0] * 7 } # Must have exactly one argument - sub foo ($@) { print "@_\n" } # Must have at least one argument - foo bar baz / 2 || "oops", "is the answer"; - - This prints "42 is the answer" on my machine. That is, it's the same as - - foo( bar( baz() / 2) || "oops", "is the answer"); - - Attempting to compile - - foo; - - results in - - Too few arguments for main::foo at ./try line 8, near "foo;" - - Compiling - - bar 1,2,3; - - results in - - Too many arguments for main::bar at ./try line 8, near "foo;" - - But - - @array = ('a','b','c'); - foo @array, @array; - - prints "3 a b c" because the $ puts the first arg of foo into scalar context. - - The main win at this point is that we can say - - sub AAA () { 1; } - sub BBB () { 2; } - - and the user can say AAA + BBB and get 3. - - I'm not quite sure how this interacts with autoloading though. I fear - POSIX.pm will need to say - - sub E2BIG (); - sub EACCES (); - sub EAGAIN (); - sub EBADF (); - sub EBUSY (); - ... - sub _SC_STREAM_MAX (); - sub _SC_TZNAME_MAX (); - sub _SC_VERSION (); - - unless we can figure out how to efficiently declare a default prototype - at import time. Meaning, not using eval. Currently - - *foo = \&bar; - - (the ordinary import mechanism) implicitly stubs &bar with no prototype if - &bar is not yet declared. It's almost like you want an AUTOPROTO to - go with your AUTOLOAD. - - Another thing to rub one's 5 o'clock shadow over is that there's no way - to apply a prototype to a method call at compile time. - - And no, I don't want to have the - - sub howabout ($formal, @arguments) { ... } - - argument right now. - - Larry - -NETaa14422: couldn't take reference of a prototyped function -Files patched: op.c - (same) - -NETaa14423: use didn't allow expressions involving the scratch pad -From: Graham Barr -Files patched: op.c perly.c perly.c.diff perly.y proto.h vms/perly_c.vms - Applied suggested patch. - -NETaa14444: lexical scalar didn't autovivify -From: Gurusamy Sarathy -Files patched: op.c pp_hot.c - It didn't have code in pp_padsv to do the right thing. - -NETaa14448: caller could dump core when used within an eval or require -From: Danny R. Faught -Files patched: pp_ctl.c - caller() was incorrectly assuming the context stack contained a subroutine - context when it in fact contained an eval context. - -NETaa14451: improved error message on bad pipe filehandle -From: Danny R. Faught -Files patched: pp_sys.c - Now says the slightly more informative - - Can't use an undefined value as filehandle reference at ./try line 3. - -NETaa14462: pp_dbstate had a scope leakage on recursion suppression -From: Tim Bunce -Files patched: pp_ctl.c - Swapped the code in question around. - -NETaa14482: sv_unref freed ref prematurely at times -From: Gurusamy Sarathy -Files patched: sv.c - Made sv_unref() mortalize rather than free the old reference. - -NETaa14484: appending string to array produced bizarre results -From: Greg Ward -Also: Malcolm Beattie -Files patched: pp_hot.c - Will now say, "Can't coerce ARRAY to string". - -NETaa14525: assignment to globs didn't reset them correctly -From: Gurusamy Sarathy -Files patched: sv.c - Applied parts of patch not overridden by subsequent patch. - -NETaa14529: a partially matching subpattern could spoof infinity detector -From: Wayne Berke -Files patched: regexec.c - A partial match on a subpattern could fool the infinite regress detector - into thinking progress had been made. - The previous workaround prevented another bug (NETaa14529) from being fixed, - so I've backed it out. I'll need to think more about how to detect failure - to progress. I'm still hopeful it's not equivalent to the halting problem. - -NETaa14535: patches from Gurusamy Sarathy -From: Gurusamy Sarathy -Files patched: op.c pp.c pp_hot.c regexec.c sv.c toke.c - Applied most recent suggested patches. - -NETaa14537: select() can return too soon -From: Matt Kimball -Also: Andreas Gustafsson -Files patched: pp_sys.c - -NETaa14538: method calls were treated like do {} under loop modifiers -From: Ilya Zakharevich -Files patched: perly.c perly.y - Needed to take the OPf_SPECIAL flag off of entersubs from method reductions. - (It was probably a cut-and-paste error from long ago.) - -NETaa14540: foreach (@array) no longer does extra stack copy -From: darrinm@lmc.com -Files patched: Todo op.c pp_ctl.c pp_hot.c - Fixed by doing the foreach(@array) optimization, so it iterates - directly through the array, and can detect the implicit shift from - referencing <>. - -NETaa14541: new version of perlbug -From: Kenneth Albanowski -Files patched: README pod/perl.pod utils/perlbug.PL - Brought it up to version 1.09. - -NETaa14541: perlbug 1.11 -Files patched: utils/perlbug.PL - (same) - -NETaa14548: magic sets didn't check private OK bits -From: W. Bradley Rubenstein -Files patched: mg.c - The magic code was getting mixed up between private and public POK bits. - -NETaa14550: made ~ magic magical -From: Tim Bunce -Files patched: sv.c - Applied suggested patch. - -NETaa14551: humongous header causes infinite loop in format -From: Grace Lee -Files patched: pp_sys.c - Needed to check for page exhaustion after doing top-of-form. - -NETaa14558: attempt to call undefined top format core dumped -From: Hallvard B Furuseth -Files patched: pod/perldiag.pod pp_sys.c - Now issues an error on attempts to call a non-existent top format. - -NETaa14561: Gurusamy Sarathy's G_KEEPERR patch -From: Andreas Koenig -Also: Gurusamy Sarathy -Also: Tim Bunce -Files patched: cop.h interp.sym perl.c perl.h pp_ctl.c pp_sys.c sv.c toke.c - Applied latest patch. - -NETaa14581: shouldn't execute BEGIN when there are compilation errors -From: Rickard Westman -Files patched: op.c - Perl should not try to execute BEGIN and END blocks if there's been a - compilation error. - -NETaa14582: got SEGV sorting sparse array -From: Rick Pluta -Files patched: pp_ctl.c - Now weeds out undefined values much like Perl 4 did. - Now sorts undefined values to the front. - -NETaa14582: sort was letting unsortable values through to comparison routine -Files patched: pp_ctl.c - (same) - -NETaa14585: globs in pad space weren't properly cleaned up -From: Gurusamy Sarathy -Files patched: op.c pp.c pp_hot.c sv.c - Applied suggested patch. - -NETaa14614: now does dbmopen with perl_eval_sv() -From: The Man -Files patched: perl.c pp_sys.c proto.h - dbmopen now invokes perl_eval_sv(), which should handle error conditions - better. - -NETaa14618: exists doesn't work in GDBM_File -From: Andrew Wilcox -Files patched: ext/GDBM_File/GDBM_File.xs - Applied suggested patch. - -NETaa14619: tied() -From: Larry Wall -Also: Paul Marquess -Files patched: embed.h global.sym keywords.h keywords.pl opcode.h opcode.pl pp_sys.c toke.c - Applied suggested patch. - -NETaa14636: Jumbo Dynaloader patch -From: Tim Bunce -Files patched: ext/DynaLoader/DynaLoader.pm ext/DynaLoader/dl_dld.xs ext/DynaLoader/dl_dlopen.xs ext/DynaLoader/dl_hpux.xs ext/DynaLoader/dl_next.xs ext/DynaLoader/dl_vms.xs ext/DynaLoader/dlutils.c - Applied suggested patches. - -NETaa14637: checkcomma routine was stupid about bareword sub calls -From: Tim Bunce -Files patched: toke.c - The checkcomma routine was stupid about bareword sub calls. - -NETaa14639: (?i) didn't reset on runtime patterns -From: Mark A. Scheel -Files patched: op.h pp_ctl.c toke.c - It didn't distinguish between permanent flags outside the pattern and - temporary flags within the pattern. - -NETaa14649: selecting anonymous globs dumps core -From: Chip Salzenberg -Files patched: cop.h doio.c embed.h global.sym perl.c pp_sys.c proto.h - Applied suggested patch, but reversed the increment and decrement to avoid - decrementing and freeing what we're going to increment. - -NETaa14655: $? returned negative value on AIX -From: Kim Frutiger -Also: Stephen D. Lee -Files patched: pp_sys.c - Applied suggested patch. - -NETaa14668: {2,} could match once -From: Hugo van der Sanden -Files patched: regexec.c - When an internal pattern failed a conjecture, it didn't back off on the - number of times it thought it had matched. - -NETaa14673: open $undefined dumped core -From: Samuli K{rkk{inen -Files patched: pp_sys.c - pp_open() didn't check its argument for globness. - -NETaa14683: stringifies were running pad out of space -From: Robin Barker -Files patched: op.h toke.c - Increased PADOFFSET to a U32, and made lexer not put double-quoted strings - inside OP_STRINGIFY unless they really needed it. - -NETaa14689: shouldn't have . in @INC when tainting -From: William R. Somsky -Files patched: perl.c - Now does not put . into @INC when tainting. It may still be added with a - - use lib "."; - - or, to put it at the end, - - BEGIN { push(@INC, ".") } - - but this is not recommended unless a chdir to a known location has been done - first. - -NETaa14690: values inside tainted SVs were ignored -From: "James M. Stern" -Files patched: pp.c pp_ctl.c - It was assuming that a tainted value was a string. - -NETaa14692: format name required qualification under use strict -From: Tom Christiansen -Files patched: gv.c - Now treats format names the same as subroutine names. - -NETaa14695: added simple regexp caching -From: John Rowe -Files patched: pp_ctl.c - Applied suggested patch. - -NETaa14697: regexp comments were sometimes wrongly treated as literal text -From: Tom Christiansen -Files patched: regcomp.c - The literal-character grabber didn't know about extended comments. - - (By the way, Tom, the boxed form of quoting in the previous enclosure is - exceeding antisocial when you want to extract the code from it.) - -NETaa14704: closure got wrong outer scope if outer sub was predeclared -From: Marc Paquette -Files patched: op.c - The outer scope of the anonymous sub was set to the stub rather than to - the actual subroutine. I kludged it by making the outer scope of the - stub be the actual subroutine, if anything is depending on the stub. - -NETaa14705: $foo .= $foo did free memory read -From: Gerd Knops -Files patched: sv.c - Now modifies address to copy if it was reallocated. - -NETaa14709: Chip's FileHandle stuff -From: Larry Wall -Also: Chip Salzenberg -Files patched: MANIFEST ext/FileHandle/FileHandle.pm ext/FileHandle/FileHandle.xs ext/FileHandle/Makefile.PL ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod ext/POSIX/POSIX.xs lib/FileCache.pm lib/Symbol.pm t/lib/filehand.t t/lib/posix.t - Applied suggested patches. - -NETaa14711: added (&) and (*) prototypes for blocks and symbols -From: Kenneth Albanowski -Files patched: Makefile.SH op.c perly.c perly.h perly.y toke.c - & now means that it must have an anonymous sub as that argument. If - it's the first argument, the sub may be specified as a block in the - indirect object slot, much like grep or sort, which have prototypes of (&@). - - Also added * so you can do things like - - sub myopen (*;$); - - myopen(FOO, $filename); - -NETaa14713: setuid FROM root now defaults to not do tainting -From: Tony Camas -Files patched: mg.c perl.c pp_hot.c - Applied suggested patch. - -NETaa14714: duplicate magics could be added to an SV -From: Yary Hluchan -Files patched: sv.c sv.c - The sv_magic() routine didn't properly check to see if it already had a - magic of that type. Ordinarily it would have, but it was called during - mg_get(), which forces the magic flags off temporarily. - -NETaa14721: sub defined during erroneous do-FILE caused core dump -From: David Campbell -Files patched: op.c - Fixed the seg fault. I couldn't reproduce the return problem. - -NETaa14734: ref should never return undef -From: Dale Amon -Files patched: pp.c t/op/overload.t - Now returns null string. - -NETaa14751: slice of undefs now returns null list -From: Tim Bunce -Files patched: pp.c pp_hot.c - Null list clobberation is now done in lslice, not aassign. - -NETaa14789: select coredumped on Linux -From: Ulrich Kunitz -Files patched: pp_sys.c - Applied suggested patches, more or less. - -NETaa14789: straightened out ins and out of duping -Files patched: lib/IPC/Open3.pm - (same) - -NETaa14791: implemented internal SUPER class -From: Nick Ing-Simmons -Also: Dean Roehrich -Files patched: gv.c - Applied suggested patch. - -NETaa14845: s/// didn't handle offset strings -From: Ken MacLeod -Files patched: pp_ctl.c - Needed a call to SvOOK_off(targ) in pp_substcont(). - -NETaa14851: Use of << to mean <<"" is deprecated -From: Larry Wall -Files patched: toke.c - -NETaa14865: added HINT_BLOCK_SCOPE to "elsif" -From: Jim Avera -Files patched: perly.y - Needed to set HINT_BLOCK_SCOPE on "elsif" to prevent the do block from - being optimized away, which caused the statement transition in elsif - to reset the stack too far back. - -NETaa14876: couldn't delete localized GV safely -From: John Hughes -Files patched: pp.c scope.c - The reference count of the "borrowed" GV needed to be incremented while - there was a reference to it in the savestack. - -NETaa14887: couldn't negate magical scalars -From: ian -Also: Gurusamy Sarathy -Files patched: pp.c - Applied suggested patch, more or less. (It's not necessary to test both - SvNIOK and SvNIOKp, since the private bits are always set if the public - bits are set.) - -NETaa14893: /m modifier was sticky -From: Jim Avera -Files patched: pp_ctl.c - pp_match() and pp_subst() were using an improperly scoped SAVEINT to restore - the value of the internal variable multiline. - -NETaa14893: /m modifier was sticky -Files patched: cop.h pp_hot.c - (same) - -NETaa14916: complete.pl retained old return value -From: Martyn Pearce -Files patched: lib/complete.pl - Applied suggested patch. - -NETaa14928: non-const 3rd arg to split assigned to list could coredump -From: Hans de Graaff -Files patched: op.c - The optimizer was assuming the OP was an OP_CONST. - -NETaa14942: substr as lvalue could disable magic -From: Darrell Kindred -Files patched: pp.c - The substr was disabling the magic of $1. - -NETaa14990: "not" not parseable when expecting term -From: "Randal L. Schwartz" -Files patched: perly.c perly.c.diff perly.y vms/perly_c.vms - The NOTOP production needed to be moved down into the terms. - -NETaa14993: Bizarre copy of formline -From: Tom Christiansen -Also: Charles Bailey -Files patched: sv.c - Applied suggested patch. - -NETaa14998: sv_add_arena() no longer leaks memory -From: Andreas Koenig -Files patched: av.c hv.c perl.h sv.c - Now keeps one potential arena "on tap", but doesn't use it unless there's - demand for SV headers. When an AV or HV is extended, its old memory - becomes the next potential arena unless there already is one, in which - case it is simply freed. This will have the desired property of not - stranding medium-sized chunks of memory when extending a single array - repeatedly, but will not degrade when there's no SV demand beyond keeping - one chunk of memory on tap, which generally will be about 250 bytes big, - since it prefers the earlier freed chunk over the later. See the nice_chunk - variable. - -NETaa14999: $a and $b now protected from use strict and lexical declaration -From: Tom Christiansen -Files patched: gv.c pod/perldiag.pod toke.c - Bare $a and $b are now allowed during "use strict". In addition, - the following diag was added: - - =item Can't use "my %s" in sort comparison - - (F) The global variables $a and $b are reserved for sort comparisons. - You mentioned $a or $b in the same line as the <=> or cmp operator, - and the variable had earlier been declared as a lexical variable. - Either qualify the sort variable with the package name, or rename the - lexical variable. - - -NETaa15034: use strict refs should allow calls to prototyped functions -From: Roderick Schertler -Files patched: perly.c perly.c.diff perly.y toke.c vms/perly_c.vms - Applied patch suggested by Chip. - -NETaa15083: forced $AUTOLOAD to be untainted -From: Tim Bunce -Files patched: gv.c pp_hot.c - Stripped any taintmagic from $AUTOLOAD after setting it. - -NETaa15084: patch for Term::Cap -From: Mark Kaehny -Also: Hugo van der Sanden -Files patched: lib/Term/Cap.pm - Applied suggested patch. - -NETaa15086: null pattern could cause coredump in s//_$1_/ -From: "Paul E. Maisano" -Files patched: cop.h pp_ctl.c - If the replacement pattern was complicated enough to cause pp_substcont - to be called, then it lost track of which REGEXP* it was supposed to - be using. - -NETaa15087: t/io/pipe.t didn't work on AIX -From: Andy Dougherty -Files patched: t/io/pipe.t - Applied suggested patch. - -NETaa15088: study was busted -From: Hugo van der Sanden -Files patched: opcode.h opcode.pl pp.c - It was studying its scratch pad target rather than the argument supplied. - -NETaa15090: MSTATS patch -From: Tim Bunce -Files patched: global.sym malloc.c perl.c perl.h proto.h - Applied suggested patch. - -NETaa15098: longjmp out of magic leaks memory -From: Chip Salzenberg -Files patched: mg.c sv.c - Applied suggested patch. - -NETaa15102: getpgrp() is broken if getpgrp2() is available -From: Roderick Schertler -Files patched: perl.h pp_sys.c - Applied suggested patch. - -NETaa15103: prototypes leaked opcodes -From: Chip Salzenberg -Files patched: op.c - Applied suggested patch. - -NETaa15107: quotameta memory bug on all metacharacters -From: Chip Salzenberg -Files patched: pp.c - Applied suggested patch. - -NETaa15108: Fix for incomplete string leak -From: Chip Salzenberg -Files patched: toke.c - Applied suggested patch. - -NETaa15110: couldn't use $/ with 8th bit set on some architectures -From: Chip Salzenberg -Files patched: doop.c interp.sym mg.c op.c perl.c perl.h pp_ctl.c pp_hot.c pp_sys.c sv.c toke.c util.c - Applied suggested patches. - -NETaa15112: { a_1 => 2 } didn't parse as expected -From: Stuart M. Weinstein -Files patched: toke.c - The little dwimmer was only skipping ALPHA rather than ALNUM chars. - -NETaa15123: bitwise ops produce spurious warnings -From: Hugo van der Sanden -Also: Chip Salzenberg -Also: Andreas Gustafsson -Files patched: sv.c - Decided to suppress the warning in the conversion routines if merely converting - a temporary, which can never be a user-supplied value anyway. - -NETaa15129: #if defined (foo) misparsed in h2ph -From: Roderick Schertler -Files patched: utils/h2ph.PL - Applied suggested patch. - -NETaa15131: some POSIX functions assumed valid filehandles -From: Chip Salzenberg -Files patched: ext/POSIX/POSIX.xs - Applied suggested patch. - -NETaa15151: don't optimize split on OPpASSIGN_COMMON -From: Huw Rogers -Files patched: op.c - Had to swap the optimization down to after the assignment op is generated - and COMMON is calculated, and then clean up the resultant tree differently. - -NETaa15154: MakeMaker-5.18 -From: Andreas Koenig -Files patched: MANIFEST lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_VMS.pm lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm - Brought it up to 5.18. - -NETaa15156: some Exporter tweaks -From: Roderick Schertler -Also: Tim Bunce -Files patched: lib/Exporter.pm - Also did Tim's Tiny Trivial patch. - -NETaa15157: new version of Test::Harness -From: Andreas Koenig -Files patched: lib/Test/Harness.pm - Applied suggested patch. - -NETaa15175: overloaded nomethod has garbage 4th op -From: Ilya Zakharevich -Files patched: gv.c - Applied suggested patch. - -NETaa15179: SvPOK_only shouldn't back off on offset pointer -From: Gutorm.Hogasen@oslo.teamco.telenor.no -Files patched: sv.h - SvPOK_only() was calling SvOOK_off(), which adjusted the string pointer - after tr/// has already acquired it. It shouldn't really be necessary - for SvPOK_only() to undo an offset string pointer, since there's no - conflict with a possible integer value where the offset is stored. - -NETaa15193: & now always bypasses prototype checking -From: Larry Wall -Files patched: dump.c op.c op.h perly.c perly.c.diff perly.y pod/perlsub.pod pp_hot.c proto.h toke.c vms/perly_c.vms vms/perly_h.vms - Turned out to be a big hairy deal because the lexer turns foo() into &foo(). - But it works consistently now. Also fixed pod. - -NETaa15197: 5.002b2 is 'appending' to $@ -From: Gurusamy Sarathy -Files patched: pp_ctl.c - Applied suggested patch. - -NETaa15201: working around Linux DBL_DIG problems -From: Kenneth Albanowski -Files patched: hints/linux.sh sv.c - Applied suggested patch. - -NETaa15208: SelectSaver -From: Chip Salzenberg -Files patched: MANIFEST lib/SelectSaver.pm - Applied suggested patch. - -NETaa15209: DirHandle -From: Chip Salzenberg -Files patched: MANIFEST lib/DirHandle.pm t/lib/dirhand.t - -NETaa15210: sysopen() -From: Chip Salzenberg -Files patched: doio.c keywords.pl lib/ExtUtils/typemap opcode.pl pod/perlfunc.pod pp_hot.c pp_sys.c proto.h toke.c - Applied suggested patch. Hope it works... - -NETaa15211: use mnemonic names in Safe setup -From: Chip Salzenberg -Files patched: ext/Safe/Safe.pm - Applied suggested patch, more or less. - -NETaa15214: prototype() -From: Chip Salzenberg -Files patched: ext/Safe/Safe.pm global.sym keywords.pl opcode.pl pp.c toke.c - Applied suggested patch. - -NETaa15217: -w problem with -d:foo -From: Tim Bunce -Files patched: perl.c - Applied suggested patch. - -NETaa15218: *GLOB{ELEMENT} -From: Larry Wall -Files patched: Makefile.SH embed.h ext/Safe/Safe.pm keywords.h opcode.h opcode.h opcode.pl perly.c perly.c.diff perly.y pp_hot.c t/lib/safe.t vms/perly_c.vms - -NETaa15219: Make *x=\*y do like *x=*y -From: Chip Salzenberg -Files patched: sv.c - Applied suggested patch. - -NETaa15221: Indigestion with Carp::longmess and big eval '...'s -From: Tim Bunce -Files patched: lib/Carp.pm - Applied suggested patch. - -NETaa15222: VERSION patch for standard extensions -From: Paul Marquess -Files patched: ext/DB_File/Makefile.PL ext/DynaLoader/DynaLoader.pm ext/DynaLoader/Makefile.PL ext/Fcntl/Fcntl.pm ext/Fcntl/Makefile.PL ext/GDBM_File/GDBM_File.pm ext/GDBM_File/Makefile.PL ext/NDBM_File/Makefile.PL ext/NDBM_File/NDBM_File.pm ext/ODBM_File/Makefile.PL ext/ODBM_File/ODBM_File.pm ext/POSIX/Makefile.PL ext/POSIX/POSIX.pm ext/SDBM_File/Makefile.PL ext/SDBM_File/SDBM_File.pm ext/Safe/Makefile.PL ext/Safe/Safe.pm ext/Socket/Makefile.PL - Applied suggested patch. - -NETaa15222: VERSION patch for standard extensions (reprise) -Files patched: ext/DB_File/DB_File.pm ext/DynaLoader/DynaLoader.pm ext/Fcntl/Fcntl.pm ext/GDBM_File/GDBM_File.pm ext/NDBM_File/NDBM_File.pm ext/ODBM_File/ODBM_File.pm ext/POSIX/POSIX.pm ext/SDBM_File/SDBM_File.pm ext/Safe/Safe.pm ext/Socket/Socket.pm - (same) - -NETaa15227: $i < 10000 should optimize to integer op -From: Larry Wall -Files patched: op.c op.c - The program - - for ($i = 0; $i < 100000; $i++) { - push @foo, $i; - } - - takes about one quarter the memory if the optimizer decides that it can - use an integer < comparison rather than floating point. It now does so - if one side is an integer constant and the other side a simple variable. - This should really help some of our benchmarks. You can still force a - floating point comparison by using 100000.0 instead. - -NETaa15228: CPerl-mode patch -From: Ilya Zakharevich -Files patched: emacs/cperl-mode.el - Applied suggested patch. - -NETaa15231: Symbol::qualify() -From: Chip Salzenberg -Files patched: ext/FileHandle/FileHandle.pm gv.c lib/SelectSaver.pm lib/Symbol.pm pp_hot.c - Applied suggested patch. - -NETaa15236: select select broke under use strict -From: Chip Salzenberg -Files patched: op.c - Instead of inventing a new bit, I just turned off the HINT_STRICT_REFS bit. - I don't think it's worthwhile distinguishing between qualified or unqualified - names to select. - -NETaa15237: use vars -From: Larry Wall -Files patched: MANIFEST gv.c lib/subs.pm lib/vars.pm sv.c - -NETaa15240: keep op names _and_ descriptions -From: Chip Salzenberg -Files patched: doio.c embed.h ext/Safe/Safe.pm ext/Safe/Safe.xs global.sym op.c opcode.h opcode.pl scope.c sv.c - Applied suggested patch. - -NETaa15259: study doesn't unset on string modification -From: Larry Wall -Files patched: mg.c pp.c - Piggybacked on m//g unset magic to unset the study too. - -NETaa15276: pick a better initial cxstack_max -From: Chip Salzenberg -Files patched: perl.c - Added fudge in, and made it calculate how many it could fit into (most of) 8K, - to avoid getting 16K of Kingsley malloc. - -NETaa15287: numeric comparison optimization adjustments -From: Clark Cooper -Files patched: op.c - Applied patch suggested by Chip, with liberalization to >= and <=. - -NETaa15299: couldn't eval string containing pod or __DATA__ -From: Andreas Koenig -Also: Gisle Aas -Files patched: toke.c - Basically, eval didn't know how to bypass pods correctly. - -NETaa15300: sv_backoff problems -From: Paul Marquess -Also: mtr -Also: Chip Salzenberg -Files patched: op.c sv.c sv.h - Applied suggested patch. - -NETaa15312: Avoid fclose(NULL) -From: Chip Salzenberg -Files patched: toke.c - Applied suggested patch. - -NETaa15318: didn't set up perl_init_i18nl14n for export -From: Ilya Zakharevich -Files patched: perl_exp.SH - Applied suggested patch. - -NETaa15331: File::Path::rmtree followed symlinks -From: Andreas Koenig -Files patched: lib/File/Path.pm - Added suggested patch, except I did - - if (not -l $root and -d _) { - - for efficiency, since if -d is true, the -l already called lstat on it. - -NETaa15339: sv_gets() didn't reset count -From: alanburlison@unn.unisys.com -Files patched: sv.c - Applied suggested patch. - -NETaa15341: differentiated importation of different types -From: Chip Salzenberg -Files patched: gv.c gv.h op.c perl.c pp.c pp_ctl.c sv.c sv.h toke.c - Applied suggested patch. - -NETaa15342: Consistent handling of e_{fp,tmpname} -From: Chip Salzenberg -Files patched: perl.c pp_ctl.c util.c - Applied suggested patch. - -NETaa15344: Safe gets confused about malloc on AIX -From: Tim Bunce -Files patched: ext/Safe/Safe.xs - Applied suggested patch. - -NETaa15348: -M upgrade -From: Tim Bunce -Files patched: perl.c pod/perlrun.pod - Applied suggested patch. - -NETaa15369: change in split optimization broke scalar context -From: Ulrich Pfeifer -Files patched: op.c - The earlier patch to make the split optimization pay attention to - OPpASSIGN_COMMON rearranged how the syntax tree is constructed, but kept - the wrong context flags. This causes pp_split() do do the wrong thing. - -NETaa15423: can't do subversion numbering because of %5.3f assumptions -From: Andy Dougherty -Files patched: configpm patchlevel.h perl.c perl.h pp_ctl.c - Removed the %5.3f assumptions where appropriate. patchlevel.h now - defines SUBVERSION, which if greater than 0 indicates a development version. - -NETaa15424: Sigsetjmp patch -From: Kenneth Albanowski -Files patched: Configure config_h.SH op.c perl.c perl.h pp_ctl.c util.c - Applied suggested patch. - -Needed to make install paths absolute. -Files patched: installperl - -h2xs 1.14 -Files patched: utils/h2xs.PL - -makedir() looped on a symlink to a directory. -Files patched: installperl - -xsubpp 1.932 -Files patched: lib/ExtUtils/xsubpp - -------------- -Version 5.001 -------------- - -Nearly all the changes for 5.001 were bug fixes of one variety or another, -so here's the bug list, along with the "resolution" for each of them. If -you wish to correspond about any of them, please include the bug number. - -There were a few that can be construed as enhancements: - NETaa13059: now warns of use of \1 where $1 is necessary. - NETaa13512: added $SIG{__WARN__} and $SIG{__DIE__} hooks - NETaa13520: added closures - NETaa13530: scalar keys now resets hash iterator - NETaa13641: added Tim's fancy new import whizbangers - NETaa13710: cryptswitch needed to be more "useable" - NETaa13716: Carp now allows multiple packages to be skipped out of - NETaa13716: now counts imported routines as "defined" for redef warnings - (and, of course, much of the stuff from the perl5-porters) - -NETaa12974: README incorrectly said it was a pre-release. -Files patched: README - -NETaa13033: goto pushed a bogus scope on the context stack. -From: Steve Vinoski -Files patched: pp_ctl.c - The goto operator pushed an extra bogus scope onto the context stack. (This - often didn't matter, since many things pop extra unrecognized scopes off.) - -NETaa13034: tried to get valid pointer from undef. -From: Castor Fu -Also: Achille Hui, the Day Dreamer -Also: Eric Arnold -Files patched: pp_sys.c - Now treats undef specially, and calls SvPV_force on any non-numeric scalar - value to get a real pointer to somewhere. - -NETaa13035: included package info with filehandles. -From: Jack Shirazi - BIU -Files patched: pp_hot.c pp_sys.c - Now passes a glob to filehandle methods to keep the package info intact. - -NETaa13048: didn't give strict vars message on every occurrence. -From: Doug Campbell -Files patched: gv.c - It now complains about every occurrence. (The bug resulted from an - ill-conceived attempt to suppress a duplicate error message in a - suboptimal fashion.) - -NETaa13052: test for numeric sort sub return value fooled by taint magic. -From: Peter Jaspers-Fayer -Files patched: pp_ctl.c sv.h - The test to see if the sort sub return value was numeric looked at the - public flags rather than the private flags of the SV, so taint magic - hid that info from the sort. - -NETaa13053: forced a2p to use byacc -From: Andy Dougherty -Files patched: MANIFEST x2p/Makefile.SH x2p/a2p.c - a2p.c is now pre-byacced and shipped with the kit. - -NETaa13055: misnamed constant in previous patch. -From: Conrad Augustin -Files patched: op.c op.h toke.c - The tokener translates $[ to a constant, but with a special marking in case - the constant gets assigned to or localized. Unfortunately, the marking - was done with a combination of OPf_SPECIAL and OPf_MOD that was easily - spoofed. There is now a private OPpCONST_ARYLEN flag for this purpose. - -NETaa13055: use of OPf_SPECIAL for $[ lvaluehood was too fragile. -Files patched: op.c op.h toke.c - (same) - -NETaa13056: convert needs to throw away any number info on its list. -From: Jack Shirazi - BIU -Files patched: op.c - The listiness of the argument list leaked out to the subroutine call because - of how prepend_elem and append_elem reuse an existing list. The convert() - routine just needs to discard any listiness it finds on its argument. - -NETaa13058: AUTOLOAD shouldn't assume size of @_ is meaningful. -From: Florent Guillaume -Files patched: ext/DB_File/DB_File.pm ext/Fcntl/Fcntl.pm ext/GDBM_File/GDBM_File.pm ext/Socket/Socket.pm h2xs.SH - I just deleted the optimization, which is silly anyway since the eventual - subroutine definition is cached. - -NETaa13059: now warns of use of \1 where $1 is necessary. -From: Gustaf Neumann -Files patched: toke.c - Now says - - Can't use \1 to mean $1 in expression at foo line 2 - - along with an explanation in perldiag. - -NETaa13060: no longer warns on attempt to read <> operator's transition state. -From: Chaim Frenkel -Files patched: pp_hot.c - No longer warns on <> operator's transitional state. - -NETaa13140: warning said $ when @ would be more appropriate. -From: David J. MacKenzie -Files patched: op.c pod/perldiag.pod - Now says - - (Did you mean $ or @ instead of %?) - - and added more explanation to perldiag. - -NETaa13149: was reading freed memory to make incorrect error message. -Files patched: pp_ctl.c - It was reading freed memory to make an error message that would be - incorrect in any event because it had the inner filename rather than - the outer. - -NETaa13149: confess was sometimes less informative than croak -From: Jack Shirazi -Files patched: lib/Carp.pm - (same) - -NETaa13150: stderr needs to be STDERR in package -From: Jack Shirazi -Files patched: lib/File/CheckTree.pm - Also fixed pl2pm to translate the filehandles to uppercase. - -NETaa13150: uppercases stdin, stdout and stderr -Files patched: pl2pm - (same) - -NETaa13154: array assignment didn't notice package magic. -From: Brian Reichert -Files patched: pp_hot.c - The list assignment operator looked for only set magic, but set magic is - only on the elements of a magical hash, not on the hash as a whole. I made - the operator look for any magic at all on the target array or hash. - -NETaa13155: &DB::DB left trash on the stack. -From: Thomas Koenig -Files patched: lib/perl5db.pl pp_ctl.c - The call by pp_dbstate() to &DB::DB left trash on the stack. It now - calls DB in list context, and DB returns (). - -NETaa13156: lexical variables didn't show up in debugger evals. -From: Joergen Haegg -Files patched: op.c - The code that searched back up the context stack for the lexical scope - outside the eval only partially took into consideration that there - might be extra debugger subroutine frames that shouldn't be used, and - ended up comparing the wrong statement sequence number to the range of - valid sequence numbers for the scope of the lexical variable. (There - was also a bug fixed in passing that caused the scope of lexical to go - clear to the end of the subroutine even if it was within an inner block.) - -NETaa13157: any request for autoloaded DESTROY should create a null one. -From: Tom Christiansen -Files patched: lib/AutoLoader.pm - If DESTROY.al is not located, it now creates sub DESTROY {} automatically. - -NETaa13158: now preserves $@ around destructors while leaving eval. -From: Tim Bunce -Files patched: pp_ctl.c - Applied supplied patch, except the whole second hunk can be replaced with - - sv_insert(errsv, 0, 0, message, strlen(message)); - -NETaa13160: clarified behavior of split without arguments -From: Harry Edmon -Files patched: pod/perlfunc.pod - Clarified the behavior of split without arguments. - -NETaa13162: eval {} lost list/scalar context -From: Dov Grobgeld -Files patched: op.c - LEAVETRY didn't propagate number to ENTERTRY. - -NETaa13163: clarified documentation of foreach using my variable -From: Tom Christiansen -Files patched: pod/perlsyn.pod - Explained that foreach using a lexical is still localized. - -NETaa13164: the dot detector for the end of formats was over-rambunctious. -From: John Stoffel -Files patched: toke.c - The dot detector for the end of formats was over-rambunctious. It would - pick up any dot that didn't have a space in front of it. - -NETaa13165: do {} while 1 never linked outer block into next chain. -From: Gisle Aas -Files patched: op.c - When the conditional of do {} while 1; was optimized away, it confused the - postfix order construction so that the block that ordinarily sits around the - whole loop was never executed. So when the loop tried to unstack between - iterations, it got the wrong context, and blew away the lexical variables - of the outer scope. Fixed it by introducing a NULL opcode that will be - optimized away later. - -NETaa13167: coercion was looking at public bits rather than private bits. -From: Randal L. Schwartz -Also: Thomas Riechmann -Also: Shane Castle -Files patched: sv.c - There were some bad ifdefs around the various varieties of set*id(). In - addition, tainting was interacting badly with assignment to $> because - sv_2iv() was examining SvPOK rather than SvPOKp, and so couldn't coerce - a string uid to an integer one. - -NETaa13167: had some ifdefs wrong on set*id. -Files patched: mg.c pp_hot.c - (same) - -NETaa13168: relaxed test for comparison of new and old fds -From: Casper H.S. Dik -Files patched: t/lib/posix.t - I relaxed the comparison to just check that the new fd is greater. - -NETaa13169: autoincrement can corrupt scalar value state. -From: Gisle Aas -Also: Tom Christiansen -Files patched: sv.c - It assumed a PV didn't need to be upgraded to become an NV. - -NETaa13169: previous patch could leak a string pointer. -Files patched: sv.c - (same) - -NETaa13170: symbols missing from global.sym -From: Tim Bunce -Files patched: global.sym - Applied suggested patch. - -NETaa13171: \\ in <<'END' shouldn't reduce to \. -From: Randal L. Schwartz -Files patched: toke.c - <<'END' needed to bypass ordinary single-quote processing. - -NETaa13172: 'use integer' turned off magical autoincrement. -From: Erich Rickheit KSC -Files patched: pp.c pp_hot.c - The integer versions of the increment and decrement operators were trying too - hard to be efficient. - -NETaa13172: deleted duplicate increment and decrement code -Files patched: opcode.h opcode.pl pp.c - (same) - -NETaa13173: install should make shared libraries executable. -From: Brian Grossman -Also: Dave Nadler -Also: Eero Pajarre -Files patched: installperl - Now gives permission 555 to any file ending with extension specified by $dlext. - -NETaa13176: ck_rvconst didn't free the const it used up. -From: Nick Duffek -Files patched: op.c - I checked in many random memory leaks under this bug number, since it - was an eval that brought many of them out. - -NETaa13176: didn't delete XRV for temp ref of destructor. -Files patched: sv.c - (same) - -NETaa13176: didn't delete op_pmshort in matching operators. -Files patched: op.c - (same) - -NETaa13176: eval leaked the name of the eval. -Files patched: scope.c - (same) - -NETaa13176: gp_free didn't free the format. -Files patched: gv.c - (same) - -NETaa13176: minor leaks in loop exits and constant subscript optimization. -Files patched: op.c - (same) - -NETaa13176: plugged some duplicate struct allocation memory leaks. -Files patched: perl.c - (same) - -NETaa13176: sv_clear of an FM didn't clear anything. -Files patched: sv.c - (same) - -NETaa13176: tr/// didn't mortalize its return value. -Files patched: pp.c - (same) - -NETaa13177: SCOPE optimization hid line number info -From: David J. MacKenzie -Also: Hallvard B Furuseth -Files patched: op.c - Every pass on the syntax tree has to keep track of the current statement. - Unfortunately, the single-statement block was optimized into a single - statement between the time the variable was parsed and the time the - void code scan was done, so that pass didn't see the OP_NEXTSTATE - operator, because it has been optimized to an OP_NULL. - - Fortunately, null operands remember what they were, so it was pretty easy - to make it set the correct line number anyway. - -NETaa13178: some linux doesn't handle nm well -From: Alan Modra -Files patched: hints/linux.sh - Applied supplied patch. - -NETaa13180: localized slice now pre-extends array -From: Larry Schuler -Files patched: pp.c - A localized slice now pre-extends its array to avoid reallocation during - the scope of the local. - -NETaa13181: m//g didn't keep track of whether previous match matched null. -From: "philippe.verdret" -Files patched: mg.h pp_hot.c - A pattern isn't allowed to match a null string in the same place twice in - a row. m//g wasn't keeping track of whether the previous match matched - the null string. - -NETaa13182: now includes whitespace as a regexp metacharacter. -From: Larry Wall -Files patched: toke.c - scan_const() now counts " \t\n\r\f\v" as metacharacters when scanning a pattern. - -NETaa13183: sv_setsv shouldn't try to clone an object. -From: Peter Gordon -Files patched: sv.c - The sv_mortalcopy() done by the return in STORE called sv_setsv(), - which cloned the object. sv_setsv() shouldn't be in the business of - cloning objects. - -NETaa13184: bogus warning on quoted signal handler name removed. -From: Dan Carson -Files patched: toke.c - Now doesn't complain unless the first non-whitespace character after the = - is an alphabetic character. - -NETaa13186: now croaks on chop($') -From: Casper H.S. Dik -Files patched: doop.c - Now croaks on chop($') and such. - -NETaa13187: "${foo::bar}" now counts as mere delimitation, not as a bareword. -From: Jay Rogers -Files patched: toke.c - "${foo::bar}" now counts as mere delimitation, not as a bareword inside a - reference block. - -NETaa13188: for backward compatibility, looks for "perl -" before "perl". -From: Russell Mosemann -Files patched: toke.c - Now allows non-whitespace characters on the #! line between the "perl" - and the "-". - -NETaa13188: now allows non-whitespace after #!...perl before switches. -Files patched: toke.c - (same) - -NETaa13189: derivative files need to be removed before recreation -From: Simon Leinen -Also: Dick Middleton -Also: David J. MacKenzie -Files patched: embed_h.sh x2p/Makefile.SH - Fixed various little nits as suggested in several messages. - -NETaa13190: certain assignments can spoof pod directive recognizer -From: Ilya Zakharevich -Files patched: toke.c - The lexer now only recognizes pod directives where a statement is expected. - -NETaa13194: now returns undef when there is no curpm. -From: lusol@Dillon.CC.Lehigh.EDU -Files patched: mg.c - Since there was no regexp prior to the "use", it was returning whatever the - last successful match was within the "use", because there was no current - regexp, so it treated it as a normal variable. It now returns undef. - -NETaa13195: semop had one S too many. -From: Joachim Huober -Files patched: opcode.pl - The entry in opcode.pl had one too many S's. - -NETaa13196: always assumes it's a Perl script if -c is used. -From: Dan Carson -Files patched: toke.c - It now will assume it's a Perl script if the -c switch is used. - -NETaa13197: changed implicit -> message to be more understandable. -From: Bruce Barnett -Files patched: op.c pod/perldiag.pod - I changed the error message to be more understandable. It now says - - Can't use subscript on sort... - - -NETaa13201: added OPpCONST_ENTERED flag to properly enter filehandle symbols. -From: E. Jay Berkenbilt -Also: Tom Christiansen -Files patched: op.c op.h toke.c - The grammatical reduction of a print statement didn't properly count - the filehandle as a symbol reference because it couldn't distinguish - between a symbol entered earlier in the program and a symbol entered - for the first time down in the lexer. - -NETaa13203: README shouldn't mention uperl.o any more. -From: Anno Siegel -Files patched: README - -NETaa13204: .= shouldn't warn on uninitialized target. -From: Pete Peterson -Files patched: pp_hot.c - No longer warns on uninitialized target of .= operator. - -NETaa13206: handy macros in XSUB.h -From: Tim Bunce -Files patched: XSUB.h - Added suggested macros. - -NETaa13228: commonality checker didn't treat lexicals as variables. -From: mcook@cognex.com -Files patched: op.c opcode.pl - The list assignment operator tries to avoid unnecessary copies by doing the - assignment directly if there are no common variables on either side of the - equals. Unfortunately, the code that decided that only recognized references - to dynamic variables, not lexical variables. - -NETaa13229: fixed sign stuff for complement, integer coercion. -From: Larry Wall -Files patched: perl.h pp.c sv.c - Fixed ~0 and integer coercions. - -NETaa13230: no longer tries to reuse scratchpad temps if tainting in effect. -From: Luca Fini -Files patched: op.c - I haven't reproduced it, but I believe the problem is the reuse of scratchpad - temporaries between statements. I've made it not try to reuse them if - tainting is in effect. - -NETaa13231: *foo = *bar now prevents typo warnings on "foo" -From: Robin Barker -Files patched: sv.c - Aliasing of the form *foo = *bar is now protected from the typo warnings. - Previously only the *foo = \$bar form was. - -NETaa13235: require BAREWORD now introduces package name immediately. -From: Larry Wall -Files patched: toke.c - require BAREWORD now introduces package name immediately. This lets the - method intuit code work right even though the require hasn't actually run - yet. - -NETaa13289: didn't calculate correctly using arybase. -From: Jared Rhine -Files patched: pp.c pp_hot.c - The runtime code didn't use curcop->cop_arybase correctly. - -NETaa13301: store now throws exception on error -From: Barry Friedman -Files patched: ext/GDBM_File/GDBM_File.xs ext/NDBM_File/NDBM_File.xs ext/ODBM_File/ODBM_File.xs ext/SDBM_File/SDBM_File.xs - Changed warn to croak in ext/*DBM_File/*.xs. - -NETaa13302: ctime now takes Time_t rather than Time_t*. -From: Rodger Anderson -Files patched: ext/POSIX/POSIX.xs - Now declares a Time_t and takes the address of that in CODE. - -NETaa13302: shorter way to do this patch -Files patched: ext/POSIX/POSIX.xs - (same) - -NETaa13304: could feed too large $@ back into croak, whereupon it croaked. -From: Larry Wall -Files patched: perl.c - callist() could feed $@ back into croak with more than a bare %s. (croak() - handles long strings with a bare %s okay.) - -NETaa13305: compiler misoptimized RHS to outside of s/a/print/e -From: Brian S. Cashman -Files patched: op.c - The syntax tree was being misconstructed because the compiler felt that - the RHS was invariant, so it did it outside the s///. - -NETaa13314: assigning mortal to lexical leaks -From: Larry Wall -Files patched: sv.c - In stealing strings, sv_setsv was checking SvPOK to see if it should free - the destination string. It should have been checking SvPVX. - -NETaa13316: wait4pid now recalled when errno == EINTR -From: Robert J. Pankratz -Files patched: pp_sys.c util.c - system() and the close() of a piped open now recall wait4pid if it returned - prematurely with errno == EINTR. - -NETaa13329: needed to localize taint magic -From: Brian Katzung -Files patched: sv.c doio.c mg.c pp_hot.c pp_sys.c scope.c taint.c - Taint magic is now localized better, though I had to resort to a kludge - to allow a value to be both tainted and untainted simultaneously during - the assignment of - - local $foo = $_[0]; - - when $_[0] is a reference to the variable $foo already. - -NETaa13341: clarified interaction of AnyDBM_File::ISA and "use" -From: Ian Phillipps -Files patched: pod/modpods/AnyDBMFile.pod - The doc was misleading. - -NETaa13342: grep and map with block would enter block but never leave it. -From: Ian Phillipps -Files patched: op.c - The compiler use some sort-checking code to handle the arguments of - grep and map. Unfortunately, this wiped out the block exit opcode while - leaving the block entry opcode. This doesn't matter to sort, but did - matter to grep and map. It now leave the block entry intact. - - The reason it worked without the my is because the block entry and exit - were optimized away to an OP_SCOPE, which it doesn't matter if it's there - or not. - -NETaa13343: goto needed to longjmp when in a signal handler. -From: Robert Partington -Files patched: pp_ctl.c - goto needed to longjmp() when in a signal handler to get back into the - right run() context. - - -NETaa13344: strict vars shouldn't apply to globs or filehandles. -From: Andrew Wilcox -Files patched: gv.c - Filehandles and globs will be excepted from "strict vars", so that you can - do the standard Perl 4 trick of - - use strict; - sub foo { - local(*IN); - open(IN,"file"); - } - - -NETaa13345: assert.pl didn't use package DB -From: Hans Mulder -Files patched: lib/assert.pl - Now it does. - -NETaa13348: av_undef didn't free scalar representing $#foo. -From: David Filo -Files patched: av.c - av_undef didn't free scalar representing $#foo. - -NETaa13349: sort sub accumulated save stack entries -From: David Filo -Files patched: pp_ctl.c - COMMON only gets set if assigning to @_, which is reasonable. Most of the - problem was a memory leak. - -NETaa13351: didn't treat indirect filehandles as references. -From: Andy Dougherty -Files patched: op.c - Now produces - - Can't use an undefined value as a symbol reference at ./foo line 3. - - -NETaa13352: OP_SCOPE allocated as UNOP rather than LISTOP. -From: Andy Dougherty -Files patched: op.c - -NETaa13353: scope() didn't release filegv on OP_SCOPE optimization. -From: Larry Wall -Files patched: op.c - When scope() nulled out a NEXTSTATE, it didn't release its filegv reference. - -NETaa13355: hv_delete now avoids useless mortalcopy -From: Larry Wall -Files patched: hv.c op.c pp.c pp_ctl.c proto.h scope.c util.c - hv_delete now avoids useless mortalcopy. - - -NETaa13359: comma operator section missing its heading -From: Larry Wall -Files patched: pod/perlop.pod - -NETaa13359: random typo -Files patched: pod/perldiag.pod - -NETaa13360: code to handle partial vec values was bogus. -From: Conrad Augustin -Files patched: pp.c - The code that Mark J. added a long time ago to handle values that were partially - off the end of the string was incorrect. - -NETaa13361: made it not interpolate inside regexp comments -From: Martin Jost -Files patched: toke.c - To avoid surprising people, it no longer interpolates inside regexp - comments. - -NETaa13362: ${q[1]} should be interpreted like it used to -From: Hans Mulder -Files patched: toke.c - Now resolves ${keyword[1]} to $keyword[1] and warns if -w. Likewise for {}. - -NETaa13363: meaning of repeated search chars undocumented in tr/// -From: Stephen P. Potter -Files patched: pod/perlop.pod - Documented that repeated characters use the first translation given. - -NETaa13365: if closedir fails, don't try it again. -From: Frank Crawford -Files patched: pp_sys.c - Now does not attempt to closedir a second time. - -NETaa13366: can't do block scope optimization on $1 et al when tainting. -From: Andrew Vignaux -Files patched: toke.c - The tainting mechanism assumes that every statement starts out - untainted. Unfortunately, the scope removal optimization for very - short blocks removed the statementhood of statements that were - attempting to read $1 as an untainted value, with the effect that $1 - appeared to be tainted anyway. The optimization is now disabled when - tainting and the block contains $1 (or equivalent). - -NETaa13366: fixed this a better way in toke.c. -Files patched: op.c - (same) - -NETaa13366: need to disable scope optimization when tainting. -Files patched: op.c - (same) - -NETaa13367: Did a SvCUR_set without nulling out final char. -From: "Rob Henderson" -Files patched: doop.c pp.c pp_sys.c - When do_vop set the length on its result string it neglected to null-terminate - it. - -NETaa13368: bigrat::norm sometimes chucked sign -From: Greg Kuperberg -Files patched: lib/bigrat.pl - The normalization routine was assuming that the gcd of two numbers was - never negative, and based on that assumption managed to move the sign - to the denominator, where it was deleted on the assumption that the - denominator is always positive. - -NETaa13368: botched previous patch -Files patched: lib/bigrat.pl - (same) - -NETaa13369: # is now a comment character, and \# should be left for regcomp. -From: Simon Parsons -Files patched: toke.c - It was not skipping the comment when it skipped the white space, and constructed - an opcode that tried to match a null string. Unfortunately, the previous - star tried to use the first character of the null string to optimize where - to recurse, so it never matched. - -NETaa13369: comment after regexp quantifier induced non-match. -Files patched: regcomp.c - (same) - -NETaa13370: some code assumed SvCUR was of type int. -From: Spider Boardman -Files patched: pp_sys.c - Did something similar to the proposed patch. I also fixed the problem that - it assumed the type of SvCUR was int. And fixed get{peer,sock}name the - same way. - -NETaa13375: sometimes dontbother wasn't added back into strend. -From: Jamshid Afshar -Files patched: regexec.c - When the /g modifier was used, the regular expression code would calculate - the end of $' too short by the minimum number of characters the pattern could - match. - -NETaa13375: sv_setpvn now disallows negative length. -Files patched: sv.c - (same) - -NETaa13376: suspected indirect objecthood prevented recognition of lexical. -From: Gisle.Aas@nr.no -Files patched: toke.c - When $data[0] is used in a spot that might be an indirect object, the lexer - was getting confused over the rule that says the $data in $$data[0] isn't - an array element. (The lexer uses XREF state for both indirect objects - and for variables used as names.) - -NETaa13377: -I processesing ate remainder of #! line. -From: Darrell Schiebel -Files patched: perl.c - I made the -I processing in moreswitches look for the end of the string, - delimited by whitespace. - -NETaa13379: ${foo} now treated the same outside quotes as inside -From: Hans Mulder -Files patched: toke.c - ${bareword} is now treated the same outside quotes as inside. - -NETaa13379: previous fix for this bug was botched -Files patched: toke.c - (same) - -NETaa13381: TEST should check for perl link -From: Andy Dougherty -Files patched: t/TEST - die "You need to run \"make test\" first to set things up.\n" unless -e 'perl'; - - -NETaa13384: fixed version 0.000 botch. -From: Larry Wall -Files patched: installperl - -NETaa13385: return 0 from required file loses message -From: Malcolm Beattie -Files patched: pp_ctl.c - Works right now. - -NETaa13387: added pod2latex -From: Taro KAWAGISHI -Files patched: MANIFEST pod/pod2latex - Added most recent copy to pod directory. - -NETaa13388: constant folding now prefers integer results over double -From: Ilya Zakharevich -Files patched: op.c - Constant folding now prefers integer results over double. - -NETaa13389: now treats . and exec as shell metathingies -From: Hans Mulder -Files patched: doio.c - Now treats . and exec as shell metathingies. - -NETaa13395: eval didn't check taintedness. -From: Larry Wall -Files patched: pp_ctl.c - -NETaa13396: $^ coredumps at end of string -From: Paul Rogers -Files patched: toke.c - The scan_ident() didn't check for a null following $^. - -NETaa13397: improved error messages when operator expected -From: Larry Wall -Files patched: toke.c - Added message (Do you need to predeclare BAR?). Also fixed the missing - semicolon message. - -NETaa13399: cleanup by Andy -From: Larry Wall -Files patched: Changes Configure Makefile.SH README cflags.SH config.H config_h.SH deb.c doop.c dump.c ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs ext/DynaLoader/DynaLoader.pm ext/Fcntl/Fcntl.pm ext/GDBM_File/GDBM_File.pm ext/POSIX/POSIX.pm ext/SDBM_File/sdbm/sdbm.h ext/Socket/Socket.pm ext/util/make_ext h2xs.SH hints/aix.sh hints/bsd386.sh hints/dec_osf.sh hints/esix4.sh hints/freebsd.sh hints/irix_5.sh hints/next_3_2.sh hints/sunos_4_1.sh hints/svr4.sh hints/ultrix_4.sh installperl lib/AutoSplit.pm lib/Cwd.pm lib/ExtUtils/MakeMaker.pm lib/ExtUtils/xsubpp lib/Term/Cap.pm mg.c miniperlmain.c perl.c perl.h perl_exp.SH pod/Makefile pod/perldiag.pod pod/pod2html pp.c pp_ctl.c pp_hot.c pp_sys.c proto.h sv.h t/re_tests util.c x2p/Makefile.SH x2p/a2p.h x2p/a2py.c x2p/handy.h x2p/hash.c x2p/hash.h x2p/str.c x2p/str.h x2p/util.c x2p/util.h x2p/walk.c - -NETaa13399: cleanup from Andy -Files patched: MANIFEST - -NETaa13399: configuration cleanup -Files patched: Configure Configure MANIFEST MANIFEST Makefile.SH Makefile.SH README config.H config.H config_h.SH config_h.SH configpm ext/DynaLoader/DynaLoader.pm ext/DynaLoader/dl_hpux.xs ext/NDBM_File/Makefile.PL ext/ODBM_File/Makefile.PL ext/util/make_ext handy.h hints/aix.sh hints/hpux_9.sh hints/hpux_9.sh hints/irix_4.sh hints/linux.sh hints/mpeix.sh hints/next_3_2.sh hints/solaris_2.sh hints/svr4.sh installperl installperl lib/AutoSplit.pm lib/ExtUtils/MakeMaker.pm lib/ExtUtils/MakeMaker.pm lib/ExtUtils/xsubpp lib/Getopt/Long.pm lib/Text/Tabs.pm makedepend.SH makedepend.SH mg.c op.c perl.h perl_exp.SH pod/perl.pod pod/perldiag.pod pod/perlsyn.pod pod/pod2man pp_sys.c proto.h proto.h unixish.h util.c util.c vms/config.vms writemain.SH x2p/a2p.h x2p/a2p.h x2p/a2py.c x2p/a2py.c x2p/handy.h x2p/util.c x2p/walk.c x2p/walk.c - -NETaa13399: new files from Andy -Files patched: ext/DB_File/Makefile.PL ext/DynaLoader/Makefile.PL ext/Fcntl/Makefile.PL ext/GDBM_File/Makefile.PL ext/NDBM_File/Makefile.PL ext/ODBM_File/Makefile.PL ext/POSIX/Makefile.PL ext/SDBM_File/Makefile.PL ext/SDBM_File/sdbm/Makefile.PL ext/Socket/Makefile.PL globals.c hints/convexos.sh hints/irix_6.sh - -NETaa13399: patch0l from Andy -Files patched: Configure MANIFEST Makefile.SH config.H config_h.SH ext/DB_File/Makefile.PL ext/GDBM_File/Makefile.PL ext/NDBM_File/Makefile.PL ext/POSIX/POSIX.xs ext/SDBM_File/sdbm/Makefile.PL ext/util/make_ext h2xs.SH hints/next_3_2.sh hints/solaris_2.sh hints/unicos.sh installperl lib/Cwd.pm lib/ExtUtils/MakeMaker.pm makeaperl.SH vms/config.vms x2p/util.c x2p/util.h - -NETaa13399: stuff from Andy -Files patched: Configure MANIFEST Makefile.SH configpm hints/dec_osf.sh hints/linux.sh hints/machten.sh lib/ExtUtils/MakeMaker.pm util.c - -NETaa13399: Patch 0k from Andy -Files patched: Configure MANIFEST Makefile.SH config.H config_h.SH hints/dec_osf.sh hints/mpeix.sh hints/next_3_0.sh hints/ultrix_4.sh installperl lib/ExtUtils/MakeMaker.pm lib/File/Path.pm makeaperl.SH minimod.PL perl.c proto.h vms/config.vms vms/ext/MM_VMS.pm x2p/a2p.h - -NETaa13399: Patch 0m from Andy -Files patched: Configure MANIFEST Makefile.SH README config.H config_h.SH ext/DynaLoader/README ext/POSIX/POSIX.xs ext/SDBM_File/sdbm/sdbm.h ext/util/extliblist hints/cxux.sh hints/linux.sh hints/powerunix.sh lib/ExtUtils/MakeMaker.pm malloc.c perl.h pp_sys.c util.c - -NETaa13400: pod2html update from Bill Middleton -From: Larry Wall -Files patched: pod/pod2html - -NETaa13401: Boyer-Moore code attempts to compile string longer than 255. -From: Kyriakos Georgiou -Files patched: util.c - The Boyer-Moore table uses unsigned char offsets, but the BM compiler wasn't - rejecting strings longer than 255 chars, and was miscompiling them. - -NETaa13403: missing a $ on variable name -From: Wayne Scott -Files patched: installperl - Yup, it was missing. - -NETaa13406: didn't wipe out dead match when proceeding to next BRANCH -From: Michael P. Clemens -Files patched: regexec.c - The code to check alternatives didn't invalidate backreferences matched by the - failed branch. - -NETaa13407: overload upgrade -From: owner-perl5-porters@nicoh.com -Also: Ilya Zakharevich -Files patched: MANIFEST gv.c lib/Math/BigInt.pm perl.h pod/perlovl.pod pp.c pp.h pp_hot.c sv.c t/lib/bigintpm.t t/op/overload.t - Applied supplied patch, and fixed bug induced by use of sv_setsv to do - a deep copy, since sv_setsv no longer copies objecthood. - -NETaa13409: sv_gets tries to grow string at EOF -From: Harold O Morris -Files patched: sv.c - Applied suggested patch, only two statements earlier, since the end code - also does SvCUR_set. - -NETaa13410: delaymagic did =~ instead of &= ~ -From: Andreas Schwab -Files patched: pp_hot.c - Applied supplied patch. - -NETaa13411: POSIX didn't compile under -DLEAKTEST -From: Frederic Chauveau -Files patched: ext/POSIX/POSIX.xs - Used NEWSV instead of newSV. - -NETaa13412: new version from Tony Sanders -From: Tony Sanders -Files patched: lib/Term/Cap.pm - Installed as Term::Cap.pm - -NETaa13413: regmust extractor needed to restart loop on BRANCH for (?:) to work -From: DESARMENIEN -Files patched: regcomp.c - The BRANCH skipper should have restarted the loop from the top. - -NETaa13414: the check for accidental list context was done after pm_short check -From: Michael H. Coen -Files patched: pp_hot.c - Moved check for accidental list context to before the pm_short optimization. - -NETaa13418: perlre.pod babbled nonsense about | in character classes -From: Philip Hazel -Files patched: pod/perlre.pod - Removed bogus brackets. Now reads: - Note however that "|" is interpreted as a literal with square brackets, - so if you write C<[fee|fie|foe]> you're really only matching C<[feio|]>. - -NETaa13419: need to document introduction of lexical variables -From: "Heading, Anthony" -Files patched: pod/perlfunc.pod - Now mentions that lexicals aren't introduced till after the current statement. - -NETaa13420: formats that overflowed a page caused endless top of forms -From: Hildo@CONSUL.NL -Files patched: pp_sys.c - If a record is too large to fit on a page, it now prints whatever will - fit and then calls top of form again on the remainder. - -NETaa13423: the code to do negative list subscript in scalar context was missing -From: Steve McDougall -Files patched: pp.c - The negative subscript code worked right in list context but not in scalar - context. In fact, there wasn't code to do it in the scalar context. - -NETaa13424: existing but undefined CV blocked inheritance -From: Spider Boardman -Files patched: gv.c - Applied supplied patch. - -NETaa13425: removed extra argument to croak -From: "R. Bernstein" -Files patched: regcomp.c - Removed extra argument. - -NETaa13427: added return types -From: "R. Bernstein" -Files patched: x2p/a2py.c - Applied suggested patch. - -NETaa13427: added static declarations -Files patched: x2p/walk.c - (same) - -NETaa13428: split was assuming that all backreferences were defined -From: Dave Schweisguth -Files patched: pp.c - split was assuming that all backreferences were defined. - -NETaa13430: hoistmust wasn't hoisting anchored shortcircuit's length -From: Tom Christiansen -Also: Rob Hooft -Files patched: toke.c - -NETaa13432: couldn't call code ref under debugger -From: Mike Fletcher -Files patched: op.c pp_hot.c sv.h - The debugging code assumed it could remember a name to represent a subroutine, - but anonymous subroutines don't have a name. It now remembers a CV reference - in that case. - -NETaa13435: 1' dumped core -From: Larry Wall -Files patched: toke.c - Didn't check a pointer for nullness. - -NETaa13436: print foo(123) didn't treat foo as subroutine -From: mcook@cognex.com -Files patched: toke.c - Now treats it as a subroutine rather than a filehandle. - -NETaa13437: &$::foo didn't think $::foo was a variable name -From: mcook@cognex.com -Files patched: toke.c - Now treats $::foo as a global variable. - -NETaa13439: referred to old package name -From: Tom Christiansen -Files patched: lib/Sys/Syslog.pm - Wasn't a strict refs problem after all. It was simply referring to package - syslog, which had been renamed to Sys::Syslog. - -NETaa13440: stat operations didn't know what to do with glob or ref to glob -From: mcook@cognex.com -Files patched: doio.c pp_sys.c - Now knows about the kinds of filehandles returned by FileHandle constructors - and such. - -NETaa13442: couldn't find name of copy of deleted symbol table entry -From: Spider Boardman -Files patched: gv.c gv.h - I did a much simpler fix. When gp_free notices that it's freeing the - master GV, it nulls out gp_egv. The GvENAME and GvESTASH macros know - to revert to gv if egv is null. - - This has the advantage of not creating a reference loop. - -NETaa13443: couldn't override an XSUB -From: William Setzer -Files patched: op.c - When the newSUB and newXS routines checked for whether the old sub was - defined, they only looked at CvROOT(cv), not CvXSUB(cv). - -NETaa13443: needed to do same thing in newXS -Files patched: op.c - (same) - -NETaa13444: -foo now doesn't warn unless sub foo is defined -From: Larry Wall -Files patched: toke.c - Made it not warn on -foo, unless there is a sub foo defined. - -NETaa13451: in scalar context, pp_entersub now guarantees one item from XSUB -From: Nick Gianniotis -Files patched: pp_hot.c - The pp_entersub routine now guarantees that an XSUB in scalar context - returns one and only one value. If there are fewer, it pushes undef, - and if there are more, it returns the last one. - -NETaa13457: now explicitly disallows printf format with 'n' or '*'. -From: lees@cps.msu.edu -Files patched: doop.c - Now says - - Use of n in printf format not supported at ./foo line 3. - - -NETaa13458: needed to call SvPOK_only() in pp_substr -From: Wayne Scott -Files patched: pp.c - Needed to call SvPOK_only() in pp_substr. - -NETaa13459: umask and chmod now warn about missing initial 0 even with paren -From: Andreas Koenig -Files patched: toke.c - Now skips parens as well as whitespace looking for argument. - -NETaa13460: backtracking didn't work on .*? because reginput got clobbered -From: Andreas Koenig -Files patched: regexec.c - When .*? did a probe of the rest of the string, it clobbered reginput, - so the next call to match a . tried to match the newline and failed. - -NETaa13475: \(@ary) now treats array as list of scalars -From: Tim Bunce -Files patched: op.c - The mod() routine now refrains from marking @ary as an lvalue if it's in parens - and is the subject of an OP_REFGEN. - -NETaa13481: accept buffer wasn't aligned good enough -From: Holger Bechtold -Also: Christian Murphy -Files patched: pp_sys.c - Applied suggested patch. - -NETaa13486: while (<>) now means while (defined($_ = <>)) -From: Jim Balter -Files patched: op.c pod/perlop.pod - while () now means while (defined($_ = )). - -NETaa13500: needed DESTROY in FileHandle -From: Tim Bunce -Files patched: ext/POSIX/POSIX.pm - Added DESTROY method. Also fixed ungensym to use POSIX:: instead of _POSIX. - Removed ungensym from close method, since DESTROY should do that now. - -NETaa13502: now complains if you use local on a lexical variable -From: Larry Wall -Files patched: op.c - Now says something like - - Can't localize lexical variable $var at ./try line 6. - -NETaa13512: added $SIG{__WARN__} and $SIG{__DIE__} hooks -From: Larry Wall -Files patched: embed.h gv.c interp.sym mg.c perl.h pod/perlvar.pod pp_ctl.c util.c Todo pod/perldiag.pod - -NETaa13514: statements before intro of lex var could see lex var -From: William Setzer -Files patched: op.c - When a lexical variable is declared, introduction is delayed until - the start of the next statement, so that any initialization code runs - outside the scope of the new variable. Thus, - - my $y = 3; - my $y = $y; - print $y; - - should print 3. Unfortunately, the declaration was marked with the - beginning location at the time that "my $y" was processed instead of - when the variable was introduced, so any embedded statements within - an anonymous subroutine picked up the wrong "my". The declaration - is now labelled correctly when the variable is actually introduced. - -NETaa13520: added closures -From: Larry Wall -Files patched: Todo cv.h embed.h global.sym gv.c interp.sym op.c perl.c perl.h pod/perlform.pod pp.c pp_ctl.c pp_hot.c sv.c sv.h toke.c - -NETaa13520: test to see if lexical works in a format now -Files patched: t/op/write.t - -NETaa13522: substitution couldn't be used on a substr() -From: Hans Mulder -Files patched: pp_ctl.c pp_hot.c - Changed pp_subst not to use sv_replace() anymore, which didn't handle lvalues - and was overkill anyway. Should be slightly faster this way too. - -NETaa13525: G_EVAL mode in perl_call_sv didn't return values right. -Files patched: perl.c - -NETaa13525: consolidated error message -From: Larry Wall -Files patched: perl.h toke.c - -NETaa13525: derived it -Files patched: perly.h - -NETaa13525: missing some values from embed.h -Files patched: embed.h - -NETaa13525: random cleanup -Files patched: MANIFEST Todo cop.h lib/TieHash.pm lib/perl5db.pl opcode.h patchlevel.h pod/perldata.pod pod/perlsub.pod t/op/ref.t toke.c - -NETaa13525: random cleanup -Files patched: pp_ctl.c util.c - -NETaa13527: File::Find needed to export $name and $dir -From: Chaim Frenkel -Files patched: lib/File/Find.pm - They are now exported. - -NETaa13528: cv_undef left unaccounted-for GV pointer in CV -From: Tye McQueen -Also: Spider Boardman -Files patched: op.c - -NETaa13530: scalar keys now resets hash iterator -From: Tim Bunce -Files patched: doop.c - scalar keys() now resets the hash iterator. - -NETaa13531: h2ph doesn't check defined right -From: Casper H.S. Dik -Files patched: h2ph.SH - -NETaa13540: VMS update -From: Larry Wall -Files patched: MANIFEST README.vms doio.c embed.h ext/DynaLoader/dl_vms.xs interp.sym lib/Cwd.pm lib/ExtUtils/xsubpp lib/File/Basename.pm lib/File/Find.pm lib/File/Path.pm mg.c miniperlmain.c perl.c perl.h perly.c perly.c.diff pod/perldiag.pod pp_ctl.c pp_hot.c pp_sys.c proto.h util.c vms/Makefile vms/config.vms vms/descrip.mms vms/ext/Filespec.pm vms/ext/MM_VMS.pm vms/ext/VMS/stdio/Makefile.PL vms/ext/VMS/stdio/stdio.pm vms/ext/VMS/stdio/stdio.xs vms/genconfig.pl vms/perlvms.pod vms/sockadapt.c vms/sockadapt.h vms/vms.c vms/vmsish.h vms/writemain.pl - -NETaa13540: got some duplicate code -Files patched: lib/File/Path.pm - -NETaa13540: stuff from Charles -Files patched: MANIFEST README.vms lib/ExtUtils/MakeMaker.pm lib/ExtUtils/MakeMaker.pm lib/ExtUtils/xsubpp lib/File/Basename.pm lib/File/Path.pm perl.c perl.h pod/perldiag.pod pod/perldiag.pod vms/Makefile vms/Makefile vms/config.vms vms/config.vms vms/descrip.mms vms/descrip.mms vms/ext/Filespec.pm vms/ext/Filespec.pm vms/ext/MM_VMS.pm vms/ext/MM_VMS.pm vms/ext/VMS/stdio/stdio.pm vms/ext/VMS/stdio/stdio.xs vms/gen_shrfls.pl vms/gen_shrfls.pl vms/genconfig.pl vms/genconfig.pl vms/mms2make.pl vms/perlvms.pod vms/sockadapt.h vms/test.com vms/vms.c vms/vms.c vms/vmsish.h vms/vmsish.h vms/writemain.pl - -NETaa13540: tweak from Charles -Files patched: lib/File/Path.pm - -NETaa13552: scalar unpack("P4",...) ignored the 4 -From: Eric Arnold -Files patched: pp.c - The optimization that tried to do only one item in a scalar context didn't - realize that the argument to P was not a repeat count. - -NETaa13553: now warns about 8 or 9 in octal escapes -From: Mike Rogers -Files patched: util.c - Now warns if it finds 8 or 9 before the end of the octal escape sequence. - So \039 produces a warning, but \0339 does not. - -NETaa13554: now allows foreach ${"name"} -From: Johan Holtman -Files patched: op.c - Instead of trying to remove OP_RV2SV, the compiler now just transmutes it into an - OP_RV2GV, which is a no-op for ordinary variables and does the right - thing for ${"name"}. - -NETaa13559: substitution now always checks for readonly -From: Rodger Anderson -Files patched: pp_hot.c - Substitution now always checks for readonly. - -NETaa13561: added explanations of closures and curly-quotes -From: Larry Wall -Files patched: pod/perlref.pod - -NETaa13562: null components in path cause indigestion -From: Ambrose Kofi Laing -Files patched: lib/Cwd.pm lib/pwd.pl - -NETaa13575: documented semantics of negative substr length -From: Jeff Bouis -Files patched: pod/perlfunc.pod - Documented the fact that negative length now leaves characters off the end, - and while I was at it, made it work right even if offset wasn't 0. - -NETaa13575: negative length to substr didn't work when offset non-zero -Files patched: pp.c - (same) - -NETaa13575: random cleanup -Files patched: pod/perlfunc.pod - (same) - -NETaa13580: couldn't localize $ACCUMULATOR -From: Larry Wall -Files patched: gv.c lib/English.pm mg.c perl.c sv.c - Needed to make $^A a real magical variable. Also lib/English.pm wasn't - exporting good. - -NETaa13583: doc mods from Tom -From: Larry Wall -Files patched: pod/modpods/AnyDBMFile.pod pod/modpods/Basename.pod pod/modpods/Benchmark.pod pod/modpods/Cwd.pod pod/modpods/Dynaloader.pod pod/modpods/Exporter.pod pod/modpods/Find.pod pod/modpods/Finddepth.pod pod/modpods/Getopt.pod pod/modpods/MakeMaker.pod pod/modpods/Open2.pod pod/modpods/POSIX.pod pod/modpods/Ping.pod pod/modpods/less.pod pod/modpods/strict.pod pod/perlapi.pod pod/perlbook.pod pod/perldata.pod pod/perlform.pod pod/perlfunc.pod pod/perlipc.pod pod/perlmod.pod pod/perlobj.pod pod/perlref.pod pod/perlrun.pod pod/perlsec.pod pod/perlsub.pod pod/perltrap.pod pod/perlvar.pod - -NETaa13589: return was enforcing list context on its arguments -From: Tim Freeman -Files patched: opcode.pl - A return was being treated like a normal list operator, in that it was - setting list context on its arguments. This was bogus. - -NETaa13591: POSIX::creat used wrong argument -From: Paul Marquess -Files patched: ext/POSIX/POSIX.pm - Applied suggested patch. - -NETaa13605: use strict refs error message now displays bad ref -From: Peter Gordon -Files patched: perl.h pod/perldiag.pod pp.c pp_hot.c - Now says - - Can't use string ("2") as a HASH ref while "strict refs" in use at ./foo line 12. - -NETaa13630: eof docs were unclear -From: Hallvard B Furuseth -Files patched: pod/perlfunc.pod - Applied suggested patch. - -NETaa13636: $< and $> weren't refetched on undump restart -From: Steve Pearlmutter -Files patched: perl.c - The code in main() bypassed perl_construct on an undump restart, which bypassed - the code that set $< and $>. - -NETaa13641: added Tim's fancy new import whizbangers -From: Tim Bunce -Files patched: lib/Exporter.pm - Applied suggested patch. - -NETaa13649: couldn't AUTOLOAD a symbol reference -From: Larry Wall -Files patched: pp_hot.c - pp_entersub needed to guarantee a CV so it would get to the AUTOLOAD code. - -NETaa13651: renamed file had wrong package name -From: Andreas Koenig -Files patched: lib/File/Path.pm - Applied suggested patch. - -NETaa13660: now that we're testing distribution we can diagnose RANDBITS errors -From: Karl Glazebrook -Files patched: t/op/rand.t - Changed to suggested algorithm. Also duplicated it to test rand(100) too. - -NETaa13660: rand.t didn't test for proper distribution within range -Files patched: t/op/rand.t - (same) - -NETaa13671: array slice misbehaved in a scalar context -From: Tye McQueen -Files patched: pp.c - A spurious else prevented the scalar-context-handling code from running. - -NETaa13672: filehandle constructors in POSIX don't return failure successfully -From: Ian Phillipps -Files patched: ext/POSIX/POSIX.pm - Applied suggested patch. - - -NETaa13678: forced $1 to always be untainted -From: Ka-Ping Yee -Files patched: mg.c - I believe the bug that triggered this was fixed elsewhere, but just in case, - I put in explicit code to force $1 et al not to be tainted regardless. - -NETaa13682: formline doc need to discuss ~ and ~~ policy -From: Peter Gordon -Files patched: pod/perlfunc.pod - -NETaa13686: POSIX::open and POSIX::mkfifo didn't check tainting -From: Larry Wall -Files patched: ext/POSIX/POSIX.xs - open() and mkfifo() now check tainting. - -NETaa13687: new Exporter.pm -From: Tim Bunce -Files patched: lib/Exporter.pm - Added suggested changes, except for @EXPORTABLE, because it looks too much - like @EXPORTTABLE. Decided to stick with @EXPORT_OK because it looks more - like an adjunct. Also added an export_tags routine. The keys in the - %EXPORT_TAGS hash no longer use colons, to make the initializers prettier. - -NETaa13687: new Exporter.pm -Files patched: ext/POSIX/POSIX.pm - (same) - -NETaa13694: add sockaddr_in to Socket.pm -From: Tim Bunce -Files patched: ext/Socket/Socket.pm - Applied suggested patch. - -NETaa13695: library routines should use qw() as good example -From: Dean Roehrich -Files patched: ext/DB_File/DB_File.pm ext/DynaLoader/DynaLoader.pm ext/Fcntl/Fcntl.pm ext/GDBM_File/GDBM_File.pm ext/POSIX/POSIX.pm ext/Socket/Socket.pm - Applied suggested patch. - -NETaa13696: myconfig should be a routine in Config.pm -From: Kenneth Albanowski -Files patched: configpm - Applied suggested patch. - -NETaa13704: fdopen closed fd on failure -From: Hallvard B Furuseth -Files patched: doio.c - Applied suggested patch. - -NETaa13706: Term::Cap doesn't work -From: Dean Roehrich -Files patched: lib/Term/Cap.pm - Applied suggested patch. - -NETaa13710: cryptswitch needed to be more "useable" -From: Tim Bunce -Files patched: embed.h global.sym perl.h toke.c - The cryptswitch_fp function now can operate in two modes. It can - modify the global rsfp to redirect input as before, or it can modify - linestr and return true, indicating that it is not necessary for yylex - to read another line since cryptswitch_fp has just done it. - -NETaa13712: new_tmpfile() can't be called as constructor -From: Hans Mulder -Files patched: ext/POSIX/POSIX.xs - Now allows new_tmpfile() to be called as a constructor. - -NETaa13714: variable method call not documented -From: "Randal L. Schwartz" -Files patched: pod/perlobj.pod - Now indicates that OBJECT->$method() works. - -NETaa13715: PACK->$method produces spurious warning -From: Larry Wall -Files patched: toke.c - The -> operator was telling the lexer to expect an operator when the - next thing was a variable. - -NETaa13716: Carp now allows multiple packages to be skipped out of -From: Larry Wall -Files patched: lib/Carp.pm - The subroutine redefinition warnings now warn on import collisions. - -NETaa13716: Exporter catches warnings and gives a better line number -Files patched: lib/Exporter.pm - (same) +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.) -NETaa13716: now counts imported routines as "defined" for redef warnings -Files patched: op.c sv.c - (same) +---------------- +Version 5.003_07 +---------------- -------------- -Version 5.000 -------------- +This patch was primarily to fix bugs or include little things I missed +in 5.003_06. 5.003_07 is intended to be stable enough to merit serious +testing with an eye towards eventual release as 5.004. -New things ----------- - The -w switch is much more informative. +If it doesn't work for you, try - References. See t/op/ref.t for examples. All entities in Perl 5 are - reference counted so that it knows when each item should be destroyed. + LC_ALL=C; export LC_ALL - Objects. See t/op/ref.t for examples. +for Bourne shell users, or - => is now a synonym for comma. This is useful as documentation for - arguments that come in pairs, such as initializers for associative arrays, - or named arguments to a subroutine. + setenv LC_ALL C - All functions have been turned into list operators or unary operators, - meaning the parens are optional. Even subroutines may be called as - list operators if they've already been declared. - - More embeddible. See main.c and embed_h.sh. Multiple interpreters - in the same process are supported (though not with interleaved - execution yet). - - The interpreter is now flattened out. Compare Perl 4's eval.c with - the perl 5's pp.c. Compare Perl 4's 900 line interpreter loop in cmd.c - with Perl 5's 1 line interpreter loop in run.c. Eventually we'll make - everything non-blocking so we can interface nicely with a scheduler. - - eval is now treated more like a subroutine call. Among other things, - this means you can return from it. +for C-shell users. Some versions of IRIX are reported to have +problems with sort when the locale is other than C. This manifests +as an infinite loop in the ./miniperl configpm step. - Format value lists may be spread over multiple lines by enclosing in - a do {} block. +The details are described below. A very brief summary is: - You may now define BEGIN and END subroutines for each package. The BEGIN - subroutine executes the moment it's parsed. The END subroutine executes - just before exiting. +o Visible Changes to Core Functionality - Flags on the #! line are interpreted even if the script wasn't - executed directly. (And even if the script was located by "perl -x"!) + -Support for BER compressed integers. See perlfunc.pod for + documentation on the 'w' option. - The ?: operator is now legal as an lvalue. + -untaint support added to IO extension. + +o Changes in Core Internals - List context now propagates to the right side of && and ||, as well - as the 2nd and 3rd arguments to ?:. + -Perl's realloc is once again called 'Myremalloc' (with -DHIDEMYMALLOC), + as it was pre-5.003_01. Again, this is for binary compatibility + with 5.003. (5.003_06 erroneously called it Myrealloc.) - The "defined" function can now take a general expression. + -Getopt::Long updated to version 2.4. - Lexical scoping available via "my". eval can see the current lexical - variables. +o Configure and build enhancements - The preferred package delimiter is now :: rather than '. + -improved SCO hints. Actually these are unconfirmed guesses, but + they may be right. - tie/untie are now preferred to dbmopen/dbmclose. Multiple DBM - implementations are allowed in the same executable, so you can - write scripts to interchange data among different formats. + -OS/2 and Plan9 updates. - New "and" and "or" operators work just like && and || but with - a precedence lower than comma, so they work better with list operators. +o Bug fixes - New functions include: abs(), chr(), uc(), ucfirst(), lc(), lcfirst(), - chomp(), glob() + -print sort (4,1,3,2); - require with a number checks to see that the version of Perl that is - currently running is at least that number. + -group numbers are integers again. - Dynamic loading of external modules is now supported. + -other things. See the specific changes for details. - There is a new quote form qw//, which is equivalent to split(' ', q//). +o Specific Changes - Assignment of a reference to a glob value now just replaces the - single element of the glob corresponding to the reference type: - *foo = \$bar, *foo = \&bletch; +Here are the specific file-by-file changes. - Filehandle methods are now supported: - output_autoflush STDOUT 1; +Index: Changes - There is now an "English" module that provides human readable translations - for cryptic variable names. + Updated for 5.003_07. - Autoload stubs can now call the replacement subroutine with goto &realsub. + Fixed a spelling error. - Subroutines can be defined lazily in any package by declaring an AUTOLOAD - routine, which will be called if a non-existent subroutine is called in - that package. +Index: Configure - Several previously added features have been subsumed under the new - keywords "use" and "no". Saying "use Module LIST" is short for - BEGIN { require Module; import Module LIST; } - The "no" keyword is identical except that it calls "unimport" instead. - The earlier pragma mechanism now uses this mechanism, and two new - modules have been added to the library to implement "use integer" - and variations of "use strict vars, refs, subs". + Detect GNU libc (thanks, Skimo!) and avoid nm if we have GNU libc. + Since the GNU libc test requires compiling and linking a test + program, the dependencies have been altered and lots of pieces of + Configure have moved around unchanged. The patch is big but the + effect is little. - Variables may now be interpolated literally into a pattern by prefixing - them with \Q, which works just like \U, but backwhacks non-alphanumerics - instead. There is also a corresponding quotemeta function. + Allow for both and in fd_set tests. + Systems which don't allow both (e.g. SCO) have to turn off one + or the other in the hints file for now. - Any quantifier in a regular expression may now be followed by a ? to - indicate that the pattern is supposed to match as little as possible. +Index: INSTALL - Pattern matches may now be followed by an m or s modifier to explicitly - request multiline or singleline semantics. An s modifier makes . match - newline. + Warn about re-using config.sh version-specific values. - Patterns may now contain \A to match only at the beginning of the string, - and \Z to match only at the end. These differ from ^ and $ in that - they ignore multiline semantics. In addition, \G matches where the - last interation of m//g or s///g left off. +Index: MANIFEST - Non-backreference-producing parens of various sorts may now be - indicated by placing a ? directly after the opening parenthesis, - followed by a character that indicates the purpose of the parens. - An :, for instance, indicates simple grouping. (?:a|b|c) will - match any of a, b or c without producing a backreference. It does - "eat" the input. There are also assertions which do not eat the - input but do lookahead for you. (?=stuff) indicates that the next - thing must be "stuff". (?!nonsense) indicates that the next thing - must not be "nonsense". + Date: Tue, 8 Oct 1996 22:24:48 -0400 + From: "Randy J. Ray" + Subject: PATCH: untaint method for IO::Handle, 5.003_06 version - The negation operator now treats non-numeric strings specially. - A -"text" is turned into "-text", so that -bareword is the same - as "-bareword". If the string already begins with a + or -, it - is flipped to the other sign. + This is a re-post of my patch to Graham's IO library to add a method in + IO::Handle called "untaint", that sets the IOf_UNTAINT flag on an object + that is of or inherits from IO::Handle. With this flag set, data read from + said handle is not tainted, whether running under -T, suid or sgid. -Incompatibilities ------------------ - @ now always interpolates an array in double-quotish strings. Some programs - may now need to use backslash to protect any @ that shouldn't interpolate. + This patch adds the method to IO.xs, adds documentation and warning to the + pod of IO/Handle.pm, creates a new test in t/lib called io_taint.t, and + adds mention of the new file to MANIFEST. - Ordinary variables starting with underscore are no longer forced into - package main. + Add mention of t/lib/io_taint.t - s'$lhs'$rhs' now does no interpolation on either side. It used to - interplolate $lhs but not $rhs. + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich - The second and third arguments of splice are now evaluated in scalar - context (like the book says) rather than list context. + os2/Changes added. - Saying "shift @foo + 20" is now a semantic error because of precedence. +Index: Makefile.SH - "open FOO || die" is now incorrect. You need parens around the filehandle. + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich - The elements of argument lists for formats are now evaluated in list - context. This means you can interpolate list values now. + All the executable targets are moved into the same chunk with + shared library target, which is delegated to + $osname/Makefile.SHs if found. + config.h should depend on config_h.SH. - You can't do a goto into a block that is optimized away. Darn. + Remove mkmanifest target, since it will generate incorrectly + sorted MANIFEST file, I would imagine (I haven't checked). - It is no longer syntactically legal to use whitespace as the name - of a variable, or as a delimiter for any kind of quote construct. +Index: README.os2 - Some error messages will be different. + New version. - The caller function now returns a false value in a scalar context if there - is no caller. This lets library files determine if they're being required. +Index: config_H - m//g now attaches its state to the searched string rather than the - regular expression. + Update SH_PATH comment. - "reverse" is no longer allowed as the name of a sort subroutine. +Index: config_h.SH - taintperl is no longer a separate executable. There is now a -T - switch to turn on tainting when it isn't turned on automatically. + Update SH_PATH comment. - Symbols starting with _ are no longer forced into package main, except - for $_ itself (and @_, etc.). +Index: ext/IO/IO.xs - Double-quoted strings may no longer end with an unescaped $ or @. + Date: Tue, 8 Oct 1996 22:24:48 -0400 + From: "Randy J. Ray" + Subject: PATCH: untaint method for IO::Handle, 5.003_06 version - Negative array subscripts now count from the end of the array. + This is a re-post of my patch to Graham's IO library to add a method in + IO::Handle called "untaint", that sets the IOf_UNTAINT flag on an object + that is of or inherits from IO::Handle. With this flag set, data read from + said handle is not tainted, whether running under -T, suid or sgid. - The comma operator in a scalar context is now guaranteed to give a - scalar context to its arguments. + This patch adds the method to IO.xs, adds documentation and warning to the + pod of IO/Handle.pm, creates a new test in t/lib called io_taint.t, and + adds mention of the new file to MANIFEST. - The ** operator now binds more tightly than unary minus. + Add method "untaint" into class IO::Handle - Setting $#array lower now discards array elements so that destructors - work reasonably. +Index: ext/IO/lib/IO/Handle.pm - delete is not guaranteed to return the old value for tied arrays, - since this capability may be onerous for some modules to implement. + Date: Tue, 8 Oct 1996 22:24:48 -0400 + From: "Randy J. Ray" + Subject: PATCH: untaint method for IO::Handle, 5.003_06 version - Attempts to set $1 through $9 now result in a run-time error. + This is a re-post of my patch to Graham's IO library to add a method in + IO::Handle called "untaint", that sets the IOf_UNTAINT flag on an object + that is of or inherits from IO::Handle. With this flag set, data read from + said handle is not tainted, whether running under -T, suid or sgid. + + This patch adds the method to IO.xs, adds documentation and warning to the + pod of IO/Handle.pm, creates a new test in t/lib called io_taint.t, and + adds mention of the new file to MANIFEST. + + Document IO::Handle::untaint and give warning about the bad + things it can do. + +Index: ext/SDBM_File/sdbm/sdbm.h + + Change Myrealloc to Myremalloc to conform to 5.003's version. + I left in the Mycalloc since malloc.c now includes a calloc, + and we might need to hide it. + +Index: gv.c + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + Better error message for overload. + +Index: hints/os2.sh + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + Some optimization (speedup in loading GNU utilities with some + memory present - 32M should be quite enough). + Test for revision of EMX, and setting fork()ing appropriately. + libc was in .../st/... instead of mt. + README.os2 is installed as pod/perlos2.pod. + +Index: hints/sco.sh + + Don't include along with . + +Index: installperl + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + Restore timestamps under OS/2 (needed for binary install). + +Index: lib/Cwd.pm + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + Use builtin methods if present under OS/2 (maybe should be + done outside of OS/2 too?). + +Index: lib/ExtUtils/MM_Unix.pm + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + Made `use strict'-clean even in parts shadowed by Autoloading. + +Index: lib/ExtUtils/typemap + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + `bool' entry added. + +Index: lib/ExtUtils/xsubpp + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + Logic for processing RETVAL documented (at last!). + +Index: lib/File/Copy.pm + + Date: Thu, 10 Oct 1996 00:42:29 -0400 (EDT) + From: Ilya Zakharevich + Subject: Cleanup after new test + + Below are patches for File::Copy (copying to filehandles was just + plain broken under OS/2 and VMS) + +Index: lib/FindBin.pm + + Date: Fri, 20 Sep 1996 15:04:04 +0200 + From: Gisle Aas + Subject: Documentation patch to the FindBin module + +Index: lib/Getopt/Long.pm + + Update to version 2.4. + +Index: lib/lib.pm + + Date: Thu, 10 Oct 1996 14:22:05 -0400 + From: "Brent B. Powers" + Subject: Re: patch for lib.pm + + Ignore undefined entries. + +Index: lib/newgetopt.pl + + Updated to version 2.4 to match Getopt::Long. + +Index: makedepend.SH + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + weed out perl_exp.SH, config_h.SH + (They have these funny names to avoid names like perl.exp.SH + with more than two '.' Such names are illegal on some systems.) + +Index: mg.c + + Date: Thu, 10 Oct 1996 14:33:08 +0000 () + From: Chip Salzenberg + Subject: Re: Group fix for 5.003_06 + + The group problems recently experienced are due to a small error + introduced in 5.003_06. This patch is required to fix the bug: + +Index: os2/Changes + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + sys/un.h is not very useful without Merlin toolkit. + updates for fork()ing. + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + added. + +Index: os2/Makefile.SHs + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + Convoluted process to create chimera executables added. + aout_clean is done automatically on clean. + +Index: os2/OS2/ExtAttr/t/os2_ea.t + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + Use `unlink' where appropriate. + +Index: os2/diff.configure + + Updated. + +Index: os2/os2.c + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + /bin/sh is translated to the configured value of location of sh.exe. + popen() used even if we can fork (as we do now). + builtins added for the sake of path manipulation. + +Index: os2/os2ish.h + + Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT) + From: Ilya Zakharevich + + sys/un.h is not very useful without Merlin toolkit. + updates for fork()ing. + +Index: patchlevel.h + + Change to subversion 7. + +Index: perl.c + + Date: Wed, 9 Oct 1996 19:03:41 +0000 + From: Tim Bunce + Subject: Infinte loop with perl_destruct_level and $SIG{__WARN__} + + I've just started using purify on a perl with DBD::Oracle linked in + (the number of uninitialised memory reads in the Oracle libraries + is frightning!). + + If perl_destruct_level and $SIG{__WARN__} are set then I see a range + of problems typified by this example and folowed by a core dump: + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + Copywrite of OS/2 port now has \n\n. + Now deletes -e file (again!) if compilation is interrupted. + +Index: perl.h + + Change Myrealloc to Myremalloc to conform to 5.003's version. + I left in the Mycalloc since malloc.c now includes a calloc, + and we might need to hide it. + +Index: plan9/aperl + + Updated for 5.003_07 + +Index: plan9/arpa/inet.h + + Updated for 5.003_07 + +Index: plan9/buildinfo + + Updated for 5.003_07 + +Index: plan9/config.plan9 + + Updated for 5.003_07 + +Index: plan9/exclude + + Updated for 5.003_07 + +Index: plan9/fndvers + + Updated for 5.003_07 + +Index: plan9/genconfig.pl + + Updated for 5.003_07 + +Index: plan9/mkfile + + Updated for 5.003_07 + +Index: plan9/myconfig.plan9 + + Updated for 5.003_07 + +Index: plan9/perlplan9.doc + + Updated for 5.003_07 + +Index: plan9/perlplan9.pod + + Updated for 5.003_07 + +Index: plan9/plan9.c + + Updated for 5.003_07 + +Index: plan9/plan9ish.h + + Updated for 5.003_07 + +Index: plan9/setup.rc + + Updated for 5.003_07 + +Index: plan9/versnum + + Updated for 5.003_07 + +Index: pod/perldiag.pod + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + mention that malloc in berkeley DB is broken, and PERL_BADFREE. + OS/2-specific messages added. + +Index: pod/perlfunc.pod + + Date: 20 Sep 1996 13:17:14 +0200 + From: Ulrich Pfeifer + Subject: Re: Patch for ASN.1 compressed integer in pack/unpack + +Index: pod/perli18n.pod + + Updated version with high bits intact. + +Index: pod/perlop.pod + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + Crossrefs corrected. + +Index: pod/perltrap.pod + + Clarified that warn() _always_ printed to STDERR, both in perl4 + and perl5. + +Index: pod/perlvar.pod + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + $^E under OS/2. + +Index: pp.c + + Date: 20 Sep 1996 13:17:14 +0200 + From: Ulrich Pfeifer + Subject: Re: Patch for ASN.1 compressed integer in pack/unpack + +Index: pp_sys.c + + Date: Wed, 9 Oct 1996 19:07:24 GMT + From: Chris Faylor + + The problem is that SCO apparently needs to have a file opened + with write privileges for chsize to work correctly. + +Index: sv.c + + Date: Tue, 08 Oct 1996 23:54:47 -0400 + From: Gurusamy Sarathy + Subject: Re: Sorting lists of integers doesn't always work + + >> > print sort (4,1,2,3); + >> > + >> > actually prints "4123", i.e. doesn't actually sort. Bug? Feature? + + This broke between 5.001n and 5.002. There was a long winded thread + about sorting undefs in some order (rather than coredumping) around + the 5.002beta times (search for "bogorefs" in the subject-line on + p5p archive for details). Larry added in some code that presumes that + the private flags are set by the time qsort() is called: + + Unfortunately, sv_2pv() does not set the POKp flag, so the above + code breaks! Here's a patch against 5.00306. + +Index: t/lib/anydbm.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/db-btree.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/db-hash.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/db-recno.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/gdbm.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/io_pipe.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + Better error message on dying. + +Index: t/lib/io_taint.t + + Date: Tue, 8 Oct 1996 22:24:48 -0400 + From: "Randy J. Ray" + Subject: PATCH: untaint method for IO::Handle, 5.003_06 version + + This is a re-post of my patch to Graham's IO library to add a method in + IO::Handle called "untaint", that sets the IOf_UNTAINT flag on an object + that is of or inherits from IO::Handle. With this flag set, data read from + said handle is not tainted, whether running under -T, suid or sgid. + + This patch adds the method to IO.xs, adds documentation and warning to the + pod of IO/Handle.pm, creates a new test in t/lib called io_taint.t, and + adds mention of the new file to MANIFEST. + + Test suite for the untaint method of class IO::Handle. + +Index: t/lib/ndbm.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/odbm.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/sdbm.t + + Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT) + From: Ilya Zakharevich + + File mode under OS/2 is not what you expect. However, this has + nothing to do with databases, _and_ there is a test + for this in stat.t (which dutifully fails). There is + no point to consider this behaviour as a bug in + database code. + So OS/2 is special-cased in these tests. + +Index: t/lib/socket.t + + Date: Thu, 10 Oct 1996 01:09:59 -0400 + From: Spider Boardman + Subject: Re: 5.003_06 is available (results on ULTRIX) + + fix t/lib/socket.t to treat TCP like the stream protocol it is + rather than expecting it behave rationally in all cases. + +Index: t/op/pack.t + + Date: 20 Sep 1996 13:17:14 +0200 + From: Ulrich Pfeifer + Subject: Re: Patch for ASN.1 compressed integer in pack/unpack + +Index: t/op/sort.t + + Date: Wed, 09 Oct 1996 00:41:27 -0400 + From: Gurusamy Sarathy + Subject: more t/op/sort.t tests + +Index: util.c + + Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT) + From: Ilya Zakharevich + + uses my_syspopen, my_syspclose ifdef OS2. my_pclose is defined + as my_syspclose ifdef OS2 and can FORK (as OS2 does). + +Index: x2p/Makefile.SH + + Date: Wed, 9 Oct 96 16:00:29 edt + From: Norton Allen + Subject: Re: sh Configure? + + Extract x2p/Makefile.SH and x2p/cflags.SH correctly down + in the x2p directory, even if $0 isn't set to the full + pathname of the file being extracted. + +Index: x2p/cflags.SH + + Date: Wed, 9 Oct 96 16:00:29 edt + From: Norton Allen + Subject: Re: sh Configure? + + Extract x2p/Makefile.SH and x2p/cflags.SH correctly down + in the x2p directory, even if $0 isn't set to the full + pathname of the file being extracted. + + +---------------- +Version 5.003_06 +---------------- +This patch was primarily to fix bugs, improve the documentation, +and work towards restoring binary compatibility with 5.003. +The details are described below. A very brief summary is: + +o Visible Changes to Core Functionality + + -Significantly improved support _with documentation_ for + locales, including LC_COLLATE. See the new pod/perli18n.pod. + Thanks to Jarkko Hietaniemi. + + -new version of Math::Complex, with test suite. Ought to be + backwards compatible, but check it out if you use Math::Complex. + + -Pre-extending hashes now works. keys %hash = 5000 will pre-size + %hash. + + -__DATA__ filehandle is untainted. + +o Changes in Core Internals + + -gv_fullname and gv_efullname have reverted to their pre-5.003_03 + versions for binary compatibility. Actually, they are implemented + as stubs pointing to the new 3-argument forms gv_fullname3 and + gv_efullname3. + + -Perl's malloc is once again called 'Mymalloc' (with -DHIDEMYMALLOC), + as it was pre-5.003_01. Again, this is for binary compatibility + with 5.003. + +o Configure and build enhancements + + -many new tests for the standard library. + + -test suite now locale-friendly. + + -a2p.man and s2p.man now made into pods. + +o Bug fixes + + -whitespace lexer errors fixed. + + -many, many other things. See details below. + +o Specific Changes + +Here are the specific file-by-file changes. + +# This is my patch perl5.003_06.pat to perl5.003_05 +# The full description is below. +# Please execute the following commands before applying this patch. +# (You can feed this patch to 'sh' to do so.) +# Andy Dougherty + +# We'll create some new tests, but patch won't automatically make them +# executable. +for t in abbrev.t autoloader.t basename.t checktree.t complex.t \ + env.t fatal.t filecache.t filecopy.t filefind.t filepath.t \ + findbin.t getopt.t hostname.t parsewords.t searchdict.t \ + selectsaver.t symbol.t texttabs.t textwrap.t timelocal.t +do + touch t/lib/$t + chmod +x t/lib/$t +done + +# The a2p.man and s2p.man pages have been changed into pods. +rm -f x2p/a2p.man x2p/s2p.man + +exit 0 + + +This is patch perl5.003_06.pat to perl version 5.003_05. +This takes you from 5.003_05 to 5.003_06. + +To apply this patch, run the above commands, +cd to your perl source directory and then type + + patch -p1 -N < perl5.003_06.pat + +The changes are described after each /^Index:/ line below. This is +designed so you can examine each change with a command such as + + csplit -k perl5.003_06.pat '/^Index:/' '{999}' + +(Of course, since there are more than 100 Index entries, your +csplit may complain, since many csplit's have an arbitrary limit of 100 +files. Still, you can manually split the file or roll your own.) + +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).