| 1 | -------------
|
|---|
| 2 | Version 5.002
|
|---|
| 3 | -------------
|
|---|
| 4 |
|
|---|
| 5 | The main enhancement to the Perl core was the addition of prototypes.
|
|---|
| 6 | Many of the modules that come with Perl have been extensively upgraded.
|
|---|
| 7 |
|
|---|
| 8 | Other than that, nearly all the changes for 5.002 were bug fixes of one
|
|---|
| 9 | variety or another, so here's the bug list, along with the "resolution"
|
|---|
| 10 | for each of them. If you wish to correspond about any of them, please
|
|---|
| 11 | include the bug number (if any).
|
|---|
| 12 |
|
|---|
| 13 | Changes specific to the Configure and build process are described
|
|---|
| 14 | at the bottom.
|
|---|
| 15 |
|
|---|
| 16 | Added APPLLIB_EXP for embedded perl library support.
|
|---|
| 17 | Files patched: perl.c
|
|---|
| 18 |
|
|---|
| 19 | Couldn't define autoloaded routine by assignment to typeglob.
|
|---|
| 20 | Files patched: pp_hot.c sv.c
|
|---|
| 21 |
|
|---|
| 22 | NETaa13525: Tiny patch to fix installman -n
|
|---|
| 23 | From: Larry Wall
|
|---|
| 24 | Files patched: installman
|
|---|
| 25 |
|
|---|
| 26 | NETaa13525: de-documented \v
|
|---|
| 27 | Files patched: pod/perlop.pod pod/perlre.pod
|
|---|
| 28 |
|
|---|
| 29 | NETaa13525: doc changes
|
|---|
| 30 | Files patched: pod/perlop.pod pod/perltrap.pod
|
|---|
| 31 |
|
|---|
| 32 | NETaa13525: perlxs update from Dean Roehrich
|
|---|
| 33 | Files patched: pod/perlxs.pod
|
|---|
| 34 |
|
|---|
| 35 | NETaa13525: rename powerunix to powerux
|
|---|
| 36 | Files patched: MANIFEST hints/powerux.sh
|
|---|
| 37 |
|
|---|
| 38 | NETaa13540: VMS uses CLK_TCK for HZ
|
|---|
| 39 | Files patched: pp_sys.c
|
|---|
| 40 |
|
|---|
| 41 | NETaa13721: pad_findlex core dumps on bad CvOUTSIDE()
|
|---|
| 42 | From: Carl Witty
|
|---|
| 43 | Files patched: op.c sv.c toke.c
|
|---|
| 44 | Each CV has a reference to the CV containing it lexically. Unfortunately,
|
|---|
| 45 | it didn't reference-count this reference, so when the outer CV was freed,
|
|---|
| 46 | we ended up with a pointer to memory that got reused later as some other kind
|
|---|
| 47 | of SV.
|
|---|
| 48 |
|
|---|
| 49 | NETaa13721: warning suppression
|
|---|
| 50 | Files patched: toke.c
|
|---|
| 51 | (same)
|
|---|
| 52 |
|
|---|
| 53 | NETaa13722: walk.c had inconsistent static declarations
|
|---|
| 54 | From: Tim Bunce
|
|---|
| 55 | Files patched: x2p/walk.c
|
|---|
| 56 | Consolidated the various declarations and made them consistent with
|
|---|
| 57 | the actual definitions.
|
|---|
| 58 |
|
|---|
| 59 | NETaa13724: -MPackage=args patch
|
|---|
| 60 | From: Tim Bunce
|
|---|
| 61 | Files patched: perl.c pod/perlrun.pod
|
|---|
| 62 | Added in the -MPackage=args patch too.
|
|---|
| 63 |
|
|---|
| 64 | NETaa13729: order-of-evaluation dependency in scope.c on leaving REGCONTEXT
|
|---|
| 65 | From: "Jason Shirk"
|
|---|
| 66 | Files patched: scope.c
|
|---|
| 67 | Did
|
|---|
| 68 |
|
|---|
| 69 | I32 delta = SSPOPINT;
|
|---|
| 70 | savestack_ix -= delta; /* regexp must have croaked */
|
|---|
| 71 |
|
|---|
| 72 | instead.
|
|---|
| 73 |
|
|---|
| 74 | NETaa13731: couldn't assign external lexical array to itself
|
|---|
| 75 | From: [email protected]
|
|---|
| 76 | Files patched: op.c
|
|---|
| 77 | The pad_findmy routine was only checking previous statements for previous
|
|---|
| 78 | mention of external lexicals, so the fact that the current statement
|
|---|
| 79 | already mentioned @list was not noted. It therefore allocated another
|
|---|
| 80 | reference to the outside lexical, and this didn't compare equal when
|
|---|
| 81 | the assigment parsing code was trying to determine whether there was a
|
|---|
| 82 | common variable on either side of the equals. Since it didn't see the
|
|---|
| 83 | same variable, it thought it could avoid making copies of the values on
|
|---|
| 84 | the stack during list assignment. Unfortunately, before using those
|
|---|
| 85 | values, the list assignment has to zero out the target array, which
|
|---|
| 86 | destroys the values.
|
|---|
| 87 |
|
|---|
| 88 | The fix was to make pad_findmy search the current statement as well. This
|
|---|
| 89 | was actually a holdover from some old code that was trying to delay
|
|---|
| 90 | introduction of "my" variables until the next statement. This is now
|
|---|
| 91 | done with a different mechanism, so the fix should not adversely affect
|
|---|
| 92 | that.
|
|---|
| 93 |
|
|---|
| 94 | NETaa13733: s/// doesn't free old string when using copy mode
|
|---|
| 95 | From: Larry Wall
|
|---|
| 96 | Files patched: pp_ctl.c pp_hot.c
|
|---|
| 97 | When I removed the use of sv_replace(), I simply forgot to free the old char*.
|
|---|
| 98 |
|
|---|
| 99 | NETaa13736: closures leaked memory
|
|---|
| 100 | From: Carl Witty
|
|---|
| 101 | Files patched: op.c pp.c
|
|---|
| 102 | This is a specific example of a more general bug, fixed as NETaa13760, having
|
|---|
| 103 | to do with reference counts on comppads.
|
|---|
| 104 |
|
|---|
| 105 | NETaa13739: XSUB interface caches gimme in case XSUB clobbers it
|
|---|
| 106 | From: Dean Roehrich
|
|---|
| 107 | Files patched: pp_hot.c
|
|---|
| 108 | Applied suggest patch. Also deleted second gimme declaration as redundant.
|
|---|
| 109 |
|
|---|
| 110 | NETaa13760: comppad reference counts were inconsistent
|
|---|
| 111 | From: Larry Wall
|
|---|
| 112 | Files patched: op.c perl.c pp_ctl.c toke.c
|
|---|
| 113 | All official references to comppads are supposed to be through compcv now,
|
|---|
| 114 | but the transformation was not complete, resulting in memory leakage.
|
|---|
| 115 |
|
|---|
| 116 | NETaa13761: sv_2pv() wrongly preferred IV to NV when SV was readonly
|
|---|
| 117 | From: "Jack R. Lawler"
|
|---|
| 118 | Files patched: sv.c
|
|---|
| 119 | Okay, I understand how this one happened. This is a case where a
|
|---|
| 120 | beneficial fix uncovered a bug elsewhere. I changed the constant
|
|---|
| 121 | folder to prefer integer results over double if the numbers are the
|
|---|
| 122 | same. In this case, they aren't, but it leaves the integer value there
|
|---|
| 123 | anyway because the storage is already allocated for it, and it *might*
|
|---|
| 124 | be used in an integer context. And since it's producing a constant, it
|
|---|
| 125 | sets READONLY. Unfortunately, sv_2pv() bogusly preferred the integer
|
|---|
| 126 | value to the double when READONLY was set. This never showed up if you
|
|---|
| 127 | just said
|
|---|
| 128 |
|
|---|
| 129 | print 1.4142135623731;
|
|---|
| 130 |
|
|---|
| 131 | because in that case, there was already a string value.
|
|---|
| 132 |
|
|---|
| 133 |
|
|---|
| 134 | NETaa13772: shmwrite core dumps consistently
|
|---|
| 135 | From: Gabe Schaffer
|
|---|
| 136 | Files patched: opcode.h opcode.pl
|
|---|
| 137 | The shmwrite operator is a list operator but neglected to push a stack
|
|---|
| 138 | mark beforehand, because an 'm' was missing from opcode.pl.
|
|---|
| 139 |
|
|---|
| 140 | NETaa13773: $. was misdocumented as read-only.
|
|---|
| 141 | From: Inaba Hiroto
|
|---|
| 142 | Files patched: pod/perlvar.pod
|
|---|
| 143 | <1.array-element-read-only>
|
|---|
| 144 | % perl -le '$,=", "; $#w=5; for (@w) { $_=1; } print @w'
|
|---|
| 145 | Modification of a read-only value attempted at -e line 1.
|
|---|
| 146 | % perl4 -le '$,=", "; $#w=5; for (@w) { $_=1; } print @w'
|
|---|
| 147 | 1, 1, 1, 1, 1, 1
|
|---|
| 148 |
|
|---|
| 149 | This one may stay the way it is for performance reasons.
|
|---|
| 150 |
|
|---|
| 151 | <2.begin-local-RS>
|
|---|
| 152 | % cat abc
|
|---|
| 153 | a
|
|---|
| 154 | b
|
|---|
| 155 | c
|
|---|
| 156 | % perl -e 'BEGIN { local $/ = ""; } print "$.:$_" while <>;' abc
|
|---|
| 157 | 1:a
|
|---|
| 158 | b
|
|---|
| 159 | c
|
|---|
| 160 | % perl -e '{ local $/ = ""; } print "$.:$_" while <>;' abc
|
|---|
| 161 | 1:a
|
|---|
| 162 | 2:b
|
|---|
| 163 | 3:c
|
|---|
| 164 |
|
|---|
| 165 | $/ wasn't initialized early enough, so local set it back to permanently
|
|---|
| 166 | undefined on exit from the block.
|
|---|
| 167 |
|
|---|
| 168 | <3.grep-x0-bug>
|
|---|
| 169 | % perl -le 'print grep(/^-/ ? ($x=$_) x 0 : 1, "a", "-b", "c");'
|
|---|
| 170 | a
|
|---|
| 171 |
|
|---|
| 172 | % perl4 -le 'print grep(/^-/ ? ($x=$_) x 0 : 1, "a", "-b", "c");'
|
|---|
| 173 | ac
|
|---|
| 174 |
|
|---|
| 175 | An extra mark was left on the stack if (('x') x $repeat) was used in a scalar
|
|---|
| 176 | context.
|
|---|
| 177 |
|
|---|
| 178 | <4.input-lineno-assign>
|
|---|
| 179 | # perl -w does not complain about assignment to $. (Is this just a feature?)
|
|---|
| 180 | # perlvar.pod says "This variable should be considered read-only."
|
|---|
| 181 | % cat abc
|
|---|
| 182 | a
|
|---|
| 183 | b
|
|---|
| 184 | c
|
|---|
| 185 | % perl -wnle '$. = 10 if $. == 2; print "$.:$_"' abc
|
|---|
| 186 | 1:a
|
|---|
| 187 | 10:b
|
|---|
| 188 | 11:c
|
|---|
| 189 |
|
|---|
| 190 | Fixed doc.
|
|---|
| 191 |
|
|---|
| 192 | <5.local-soft-ref.bug>
|
|---|
| 193 | % perl -e 'local ${"a"}=1;'
|
|---|
| 194 | zsh: 529 segmentation fault perl -e 'local ${"a"}=1;'
|
|---|
| 195 |
|
|---|
| 196 | Now says
|
|---|
| 197 | Can't localize a reference at -e line 1.
|
|---|
| 198 |
|
|---|
| 199 | <6.package-readline>
|
|---|
| 200 | % perl -e 'package foo; sub foo { 1; } package main; $_ = foo::foo(); print'
|
|---|
| 201 | 1
|
|---|
| 202 | % perl -e '
|
|---|
| 203 | package readline; sub foo { 1; } package main; $_ = readline::foo(); print'
|
|---|
| 204 | Undefined subroutine &main::foo called at -e line 1.
|
|---|
| 205 | % perl -e '
|
|---|
| 206 | package readline; sub foo { 1; } package main; $_ = &readline::foo(); print'
|
|---|
| 207 | 1
|
|---|
| 208 |
|
|---|
| 209 | Now treats foo::bar correctly even if foo is a keyword.
|
|---|
| 210 |
|
|---|
| 211 | <7.page-head-set-to-null-string>
|
|---|
| 212 | % cat page-head
|
|---|
| 213 | #From: [email protected] (Russell Fulton)
|
|---|
| 214 | #Newsgroups: comp.lang.perl
|
|---|
| 215 | #Subject: This script causes Perl 5.00 to sementation fault
|
|---|
| 216 | #Date: 15 Nov 1994 00:11:37 GMT
|
|---|
| 217 | #Message-ID: <[email protected]>
|
|---|
| 218 |
|
|---|
| 219 | select((select(STDOUT), $^='')[0]); #this is the critical line
|
|---|
| 220 | $a = 'a';
|
|---|
| 221 | write ;
|
|---|
| 222 | exit;
|
|---|
| 223 |
|
|---|
| 224 | format STDOUT =
|
|---|
| 225 | @<<<<<<
|
|---|
| 226 | $a
|
|---|
| 227 | .
|
|---|
| 228 |
|
|---|
| 229 | % perl page-head
|
|---|
| 230 | zsh: 1799 segmentation fault perl /tmp/page-head
|
|---|
| 231 |
|
|---|
| 232 | Now says
|
|---|
| 233 | Undefined top format "main::" called at ./try line 11.
|
|---|
| 234 |
|
|---|
| 235 | <8.sub-as-index>
|
|---|
| 236 | # parser bug?
|
|---|
| 237 | % perl -le 'sub foo {0}; $x[0]=0;$x[foo]<=0'
|
|---|
| 238 | Unterminated <> operator at -e line 1.
|
|---|
| 239 | % perl -le 'sub foo {0}; $x[0]=0;$x[foo()]<=0'
|
|---|
| 240 |
|
|---|
| 241 | A right square bracket now forces expectation of an operator.
|
|---|
| 242 |
|
|---|
| 243 | <9.unary-minus-to-regexp-var>
|
|---|
| 244 | % cat minus-reg
|
|---|
| 245 | #From: Michael Cook <[email protected]>
|
|---|
| 246 | #Newsgroups: comp.lang.perl
|
|---|
| 247 | #Subject: bug: print -$1
|
|---|
| 248 | #Date: 01 Feb 1995 15:31:25 GMT
|
|---|
| 249 | #Message-ID: <[email protected]>
|
|---|
| 250 |
|
|---|
| 251 | $_ = "123";
|
|---|
| 252 | /\d+/;
|
|---|
| 253 | print $&, "\n";
|
|---|
| 254 | print -$&, "\n";
|
|---|
| 255 | print 0-$&, "\n";
|
|---|
| 256 |
|
|---|
| 257 | % perl minus-reg
|
|---|
| 258 | 123
|
|---|
| 259 | 123
|
|---|
| 260 | -123
|
|---|
| 261 |
|
|---|
| 262 | Apparently already fixed in my copy.
|
|---|
| 263 |
|
|---|
| 264 | <10.vec-segv>
|
|---|
| 265 | % cat vec-bug
|
|---|
| 266 | ## Offset values are changed for my machine.
|
|---|
| 267 |
|
|---|
| 268 | #From: [email protected] (Conrad Augustin)
|
|---|
| 269 | #Subject: perl5 vec() bug?
|
|---|
| 270 | #Message-ID: <[email protected]>
|
|---|
| 271 | #Date: Tue, 22 Nov 1994 19:37:28 GMT
|
|---|
| 272 |
|
|---|
| 273 | #The following two statements each produce a segmentation fault in perl5:
|
|---|
| 274 |
|
|---|
| 275 | #vec($a, 21406, 32) = 1; # seg fault
|
|---|
| 276 | vec($a, 42813, 16) = 1; # seg fault
|
|---|
| 277 |
|
|---|
| 278 | #When the offset values are one less, all's well:
|
|---|
| 279 | #vec($a, 21405, 32) = 1; # ok
|
|---|
| 280 | #vec($a, 42812, 16) = 1; # ok
|
|---|
| 281 |
|
|---|
| 282 | #Interestingly, this is ok for all high values of N:
|
|---|
| 283 | #$N=1000000; vec($a, $N, 8) = 1;
|
|---|
| 284 |
|
|---|
| 285 | % perl vec-bug
|
|---|
| 286 | zsh: 1806 segmentation fault perl vec-bug
|
|---|
| 287 |
|
|---|
| 288 | Can't reproduce this one.
|
|---|
| 289 |
|
|---|
| 290 |
|
|---|
| 291 | NETaa13773: $/ not correctly localized in BEGIN
|
|---|
| 292 | Files patched: perl.c
|
|---|
| 293 | (same)
|
|---|
| 294 |
|
|---|
| 295 | NETaa13773: foo::bar was misparsed if foo was a reserved word
|
|---|
| 296 | Files patched: toke.c toke.c
|
|---|
| 297 | (same)
|
|---|
| 298 |
|
|---|
| 299 | NETaa13773: right square bracket didn't force expectation of operator
|
|---|
| 300 | Files patched: toke.c
|
|---|
| 301 | (same)
|
|---|
| 302 |
|
|---|
| 303 | NETaa13773: scalar ((x) x $repeat) left stack mark
|
|---|
| 304 | Files patched: op.c
|
|---|
| 305 | (same)
|
|---|
| 306 |
|
|---|
| 307 | NETaa13778: -w coredumps on <$>
|
|---|
| 308 | From: Hans Mulder
|
|---|
| 309 | Files patched: pp_hot.c toke.c
|
|---|
| 310 | Now produces suggested error message. Also installed guard in warning code
|
|---|
| 311 | that coredumped.
|
|---|
| 312 |
|
|---|
| 313 | NETaa13779: foreach didn't use savestack mechanism
|
|---|
| 314 | From: Hans Mulder
|
|---|
| 315 | Files patched: cop.h pp_ctl.c
|
|---|
| 316 | The foreach mechanism saved the old scalar value on the context stack
|
|---|
| 317 | rather than the savestack. It could consequently get out of sync if
|
|---|
| 318 | unexpectedly unwound.
|
|---|
| 319 |
|
|---|
| 320 | NETaa13785: GIMME sometimes used wrong context frame
|
|---|
| 321 | From: Greg Earle
|
|---|
| 322 | Files patched: embed.h global.sym op.h pp_ctl.c proto.h
|
|---|
| 323 | The expression inside the return was taking its context from the immediately
|
|---|
| 324 | surrounding block rather than the innermost surrounding subroutine call.
|
|---|
| 325 |
|
|---|
| 326 | NETaa13797: could modify sv_undef through auto-vivification
|
|---|
| 327 | From: Ilya Zakharevich
|
|---|
| 328 | Files patched: pp.c
|
|---|
| 329 | Inserted the missing check for readonly values on auto-vivification.
|
|---|
| 330 |
|
|---|
| 331 | NETaa13798: if (...) {print} treats print as quoted
|
|---|
| 332 | From: Larry Wall
|
|---|
| 333 | Files patched: toke.c
|
|---|
| 334 | The trailing paren of the condition was setting expectations to XOPERATOR
|
|---|
| 335 | rather than XBLOCK, so it was being treated like ${print}.
|
|---|
| 336 |
|
|---|
| 337 | NETaa13926: commonality was not detected in assignments using COND_EXPR
|
|---|
| 338 | From: Mark Hanson
|
|---|
| 339 | Files patched: opcode.h opcode.pl
|
|---|
| 340 | The assignment compiler didn't check the 2nd and 3rd args of a ?:
|
|---|
| 341 | for commonality. It still doesn't, but I made ?: into a "dangerous"
|
|---|
| 342 | operator so it is forced to treat it as common.
|
|---|
| 343 |
|
|---|
| 344 | NETaa13957: was marking the PUSHMARK as modifiable rather than the arg
|
|---|
| 345 | From: David Couture
|
|---|
| 346 | Files patched: op.c sv.c
|
|---|
| 347 | It was marking the PUSHMARK as modifiable rather than the arg.
|
|---|
| 348 |
|
|---|
| 349 | NETaa13962: documentation of behavior of scalar <*> was unclear
|
|---|
| 350 | From: Tom Christiansen
|
|---|
| 351 | Files patched: pod/perlop.pod
|
|---|
| 352 | Added the following to perlop:
|
|---|
| 353 |
|
|---|
| 354 | A glob only evaluates its (embedded) argument when it is starting a new
|
|---|
| 355 | list. All values must be read before it will start over. In a list
|
|---|
| 356 | context this isn't important, because you automatically get them all
|
|---|
| 357 | anyway. In a scalar context, however, the operator returns the next value
|
|---|
| 358 | each time it is called, or a FALSE value if you've just run out. Again,
|
|---|
| 359 | FALSE is returned only once. So if you're expecting a single value from
|
|---|
| 360 | a glob, it is much better to say
|
|---|
| 361 |
|
|---|
| 362 | ($file) = <blurch*>;
|
|---|
| 363 |
|
|---|
| 364 | than
|
|---|
| 365 |
|
|---|
| 366 | $file = <blurch*>;
|
|---|
| 367 |
|
|---|
| 368 | because the latter will alternate between returning a filename and
|
|---|
| 369 | returning FALSE.
|
|---|
| 370 |
|
|---|
| 371 |
|
|---|
| 372 | NETaa13986: split ignored /m pattern modifier
|
|---|
| 373 | From: Winfried Koenig
|
|---|
| 374 | Files patched: pp.c
|
|---|
| 375 | Fixed to work like m// and s///.
|
|---|
| 376 |
|
|---|
| 377 | NETaa13992: regexp comments not seen after + in non-extended regexp
|
|---|
| 378 | From: Mark Knutsen
|
|---|
| 379 | Files patched: regcomp.c
|
|---|
| 380 | The code to skip regexp comments was guarded by a conditional that only
|
|---|
| 381 | let it work when /x was in effect.
|
|---|
| 382 |
|
|---|
| 383 | NETaa14014: use subs should not count as definition, only as declaration
|
|---|
| 384 | From: Keith Thompson
|
|---|
| 385 | Files patched: sv.c
|
|---|
| 386 | On *foo = \&bar, doesn't set GVf_IMPORTED if foo and bar are in same package.
|
|---|
| 387 |
|
|---|
| 388 | NETaa14021: sv_inc and sv_dec "upgraded" magical SV to non-magical
|
|---|
| 389 | From: Paul A Sand
|
|---|
| 390 | Also: Andreas Koenig
|
|---|
| 391 | Files patched: sv.c
|
|---|
| 392 | The sv_inc() and sv_dec() routines "upgraded" null magical SVs to non-magical.
|
|---|
| 393 |
|
|---|
| 394 | NETaa14086: require should check tainting
|
|---|
| 395 | From: Karl Simon Berg
|
|---|
| 396 | Files patched: pp_ctl.c
|
|---|
| 397 | Since we shouldn't allow tainted requires anyway, it now says:
|
|---|
| 398 |
|
|---|
| 399 | Insecure dependency in require while running with -T switch at tst.pl line 1.
|
|---|
| 400 |
|
|---|
| 401 | NETaa14104: negation fails on magical variables like $1
|
|---|
| 402 | From: tim
|
|---|
| 403 | Files patched: pp.c
|
|---|
| 404 | Negation was failing on magical values like $1. It was testing the wrong
|
|---|
| 405 | bits and also failed to provide a final "else" if none of the bits matched.
|
|---|
| 406 |
|
|---|
| 407 | NETaa14107: deep sort return leaked contexts
|
|---|
| 408 | From: Quentin Fennessy
|
|---|
| 409 | Files patched: pp_ctl.c
|
|---|
| 410 | Needed to call dounwind() appropriately.
|
|---|
| 411 |
|
|---|
| 412 | NETaa14129: attempt to localize via a reference core dumps
|
|---|
| 413 | From: Michele Sardo
|
|---|
| 414 | Files patched: op.c pod/perldiag.pod
|
|---|
| 415 | Now produces an error "Can't localize a reference", with explanation in
|
|---|
| 416 | perldiag.
|
|---|
| 417 |
|
|---|
| 418 | NETaa14138: substr() and s/// can cause core dump
|
|---|
| 419 | From: Andrew Vignaux
|
|---|
| 420 | Files patched: pp_hot.c
|
|---|
| 421 | Forgot to call SvOOK_off() on the SV before freeing its string.
|
|---|
| 422 |
|
|---|
| 423 | NETaa14145: ${@INC}[0] dumped core in debugger
|
|---|
| 424 | From: Hans Mulder
|
|---|
| 425 | Files patched: sv.c
|
|---|
| 426 | Now croaks "Bizarre copy of ARRAY in block exit", which is better than
|
|---|
| 427 | a core dump. The fact that ${@INC}[0] means $INC[0] outside the debugger
|
|---|
| 428 | is a different bug.
|
|---|
| 429 |
|
|---|
| 430 | NETaa14147: bitwise assignment ops wipe out byte of target string
|
|---|
| 431 | From: Jim Richardson
|
|---|
| 432 | Files patched: doop.c
|
|---|
| 433 | The code was assuming that the target was not either of the two operands,
|
|---|
| 434 | which is false for an assignment operator.
|
|---|
| 435 |
|
|---|
| 436 | NETaa14153: lexing of lexicals in patterns fooled by character class
|
|---|
| 437 | From: Dave Bianchi
|
|---|
| 438 | Files patched: toke.c
|
|---|
| 439 | It never called the dwimmer, which is how it fooled it.
|
|---|
| 440 |
|
|---|
| 441 | NETaa14154: allowed autoloaded methods by recognizing sub method; declaration
|
|---|
| 442 | From: Larry Wall
|
|---|
| 443 | Files patched: gv.c
|
|---|
| 444 | Made sub method declaration sufficient for autoloader to stop searching on.
|
|---|
| 445 |
|
|---|
| 446 | NETaa14156: shouldn't optimize block scope on tainting
|
|---|
| 447 | From: Pete Peterson
|
|---|
| 448 | Files patched: op.c toke.c
|
|---|
| 449 | I totally disabled the block scope optimization when running tainted.
|
|---|
| 450 |
|
|---|
| 451 | NETaa14157: -T and -B only allowed 1/30 "odd" characters--changed to 1/3
|
|---|
| 452 | From: Tor Lillqvist
|
|---|
| 453 | Files patched: pp_sys.c
|
|---|
| 454 | Applied suggested patch.
|
|---|
| 455 |
|
|---|
| 456 | NETaa14160: deref of null symbol should produce null list
|
|---|
| 457 | From: Jared Rhine
|
|---|
| 458 | Files patched: pp_hot.c
|
|---|
| 459 | It didn't check for list context before returning undef.
|
|---|
| 460 |
|
|---|
| 461 | NETaa14162: POSIX::gensym now returns a symbol reference
|
|---|
| 462 | From: Josh N. Pritikin
|
|---|
| 463 | Also: Tim Bunce
|
|---|
| 464 | Files patched: ext/POSIX/POSIX.pm
|
|---|
| 465 | Applied suggested patch.
|
|---|
| 466 |
|
|---|
| 467 | NETaa14164: POSIX autoloader now distinguishes non-constant "constants"
|
|---|
| 468 | From: Tim Bunce <[email protected]>
|
|---|
| 469 | Files patched: ext/POSIX/POSIX.pm ext/POSIX/POSIX.xs
|
|---|
| 470 | The .xs file now distinguishes non-constant "constants" by setting EAGAIN.
|
|---|
| 471 | This will also let us use #ifdef within the .xs file to de-constantify
|
|---|
| 472 | any other macros that happen not to be constants even if they don't use
|
|---|
| 473 | an argument.
|
|---|
| 474 |
|
|---|
| 475 | NETaa14166: missing semicolon after "my" induces core dump
|
|---|
| 476 | From: Thomas Kofler
|
|---|
| 477 | Files patched: toke.c
|
|---|
| 478 | The parser was left thinking it was still processing a "my", and flubbed.
|
|---|
| 479 | I made it wipe out the "in_my" variable on a syntax error.
|
|---|
| 480 |
|
|---|
| 481 | NETaa14166: missing semicolon after "my" induces core dump"
|
|---|
| 482 | Files patched: toke.c
|
|---|
| 483 | (same)
|
|---|
| 484 |
|
|---|
| 485 | NETaa14206: can now use English and strict at the same time
|
|---|
| 486 | From: Andrew Wilcox
|
|---|
| 487 | Files patched: sv.c
|
|---|
| 488 | It now counts imported symbols as okay under "use strict".
|
|---|
| 489 |
|
|---|
| 490 | NETaa14206: can now use English and strict at the same time
|
|---|
| 491 | Files patched: gv.c pod/perldiag.pod
|
|---|
| 492 | (same)
|
|---|
| 493 |
|
|---|
| 494 | NETaa14265: elseif now produces severe warning
|
|---|
| 495 | From: Yutao Feng
|
|---|
| 496 | Files patched: pod/perldiag.pod toke.c
|
|---|
| 497 | Now complains explicitly about "elseif".
|
|---|
| 498 |
|
|---|
| 499 | NETaa14279: list assignment propagated taintedness to independent scalars
|
|---|
| 500 | From: Tim Freeman
|
|---|
| 501 | Files patched: pp_hot.c
|
|---|
| 502 | List assignment needed to be modified so that tainting didn't propagate
|
|---|
| 503 | between independent scalar values.
|
|---|
| 504 |
|
|---|
| 505 | NETaa14312: undef in @EXPORTS core dumps
|
|---|
| 506 | From: William Setzer
|
|---|
| 507 | Files patched: lib/Exporter.pm
|
|---|
| 508 | Now says:
|
|---|
| 509 |
|
|---|
| 510 | Unable to create sub named "t::" at lib/Exporter.pm line 159.
|
|---|
| 511 | Illegal null symbol in @t::EXPORT at -e line 1
|
|---|
| 512 | BEGIN failed--compilation aborted at -e line 1.
|
|---|
| 513 |
|
|---|
| 514 |
|
|---|
| 515 | NETaa14312: undef in @EXPORTS core dumps
|
|---|
| 516 | Files patched: pod/perldiag.pod sv.c
|
|---|
| 517 | (same)
|
|---|
| 518 |
|
|---|
| 519 | NETaa14321: literal @array check shouldn't happen inside embedded expressions
|
|---|
| 520 | From: Mark H. Nodine
|
|---|
| 521 | Files patched: toke.c
|
|---|
| 522 | The general solution to this is to disable the literal @array check within
|
|---|
| 523 | any embedded expression. For instance, this also failed bogusly:
|
|---|
| 524 |
|
|---|
| 525 | print "$foo{@foo}";
|
|---|
| 526 |
|
|---|
| 527 | The reason fixing this also fixes the s///e problem is that the lexer
|
|---|
| 528 | effectively puts the RHS into a do {} block, making the expression
|
|---|
| 529 | embedded within curlies, as far as the error message is concerned.
|
|---|
| 530 |
|
|---|
| 531 | NETaa14322: now localizes $! during POSIX::AUTOLOAD
|
|---|
| 532 | From: Larry Wall
|
|---|
| 533 | Files patched: ext/POSIX/POSIX.pm
|
|---|
| 534 | Added local $! = 0.
|
|---|
| 535 |
|
|---|
| 536 | NETaa14324: defined() causes spurious sub existence
|
|---|
| 537 | From: "Andreas Koenig"
|
|---|
| 538 | Files patched: op.c pp.c
|
|---|
| 539 | It called pp_rv2cv which wrongly assumed it could add any sub it referenced.
|
|---|
| 540 |
|
|---|
| 541 | NETaa14336: use Module () forces import of nothing
|
|---|
| 542 | From: Tim Bunce
|
|---|
| 543 | Files patched: op.c
|
|---|
| 544 | use Module () now refrains from calling import at all.
|
|---|
| 545 |
|
|---|
| 546 | NETaa14353: added special HE allocator
|
|---|
| 547 | From: Larry Wall
|
|---|
| 548 | Files patched: global.sym
|
|---|
| 549 |
|
|---|
| 550 | NETaa14353: added special HE allocator
|
|---|
| 551 | Files patched: hv.c perl.h
|
|---|
| 552 |
|
|---|
| 553 | NETaa14353: array extension now converts old memory to SV storage.
|
|---|
| 554 | Files patched: av.c av.h sv.c
|
|---|
| 555 |
|
|---|
| 556 | NETaa14353: hashes now convert old storage into SV arenas.
|
|---|
| 557 | Files patched: global.sym
|
|---|
| 558 |
|
|---|
| 559 | NETaa14353: hashes now convert old storage into SV arenas.
|
|---|
| 560 | Files patched: hv.c perl.h
|
|---|
| 561 |
|
|---|
| 562 | NETaa14353: upgraded SV arena allocation
|
|---|
| 563 | Files patched: proto.h
|
|---|
| 564 |
|
|---|
| 565 | NETaa14353: upgraded SV arena allocation
|
|---|
| 566 | Files patched: perl.c sv.c
|
|---|
| 567 |
|
|---|
| 568 | NETaa14422: added rudimentary prototypes
|
|---|
| 569 | From: Gisle Aas
|
|---|
| 570 | Files patched: Makefile.SH op.c op.c perly.c perly.c.diff perly.h perly.y proto.h sv.c toke.c
|
|---|
| 571 | Message-Id: <[email protected]>
|
|---|
| 572 | To: [email protected] (Andy Dougherty)
|
|---|
| 573 | Cc: [email protected]
|
|---|
| 574 | Subject: Re: Jumbo Configure patch vs. 1m.
|
|---|
| 575 | Date: Thu, 28 Sep 95 17:18:54 -0700
|
|---|
| 576 | From: [email protected] (Larry Wall)
|
|---|
| 577 |
|
|---|
| 578 | : No. Larry's currently got the patch pumpkin for all such core perl topics.
|
|---|
| 579 |
|
|---|
| 580 | I dunno whether you should let me have the patch pumpkin or not. To fix
|
|---|
| 581 | a Sev 2 I just hacked in rudimentary prototypes. :-)
|
|---|
| 582 |
|
|---|
| 583 | We can now define true unary subroutines, as well as argumentless
|
|---|
| 584 | subroutines:
|
|---|
| 585 |
|
|---|
| 586 | sub baz () { 12; } # Must not have argument
|
|---|
| 587 | sub bar ($) { $_[0] * 7 } # Must have exactly one argument
|
|---|
| 588 | sub foo ($@) { print "@_\n" } # Must have at least one argument
|
|---|
| 589 | foo bar baz / 2 || "oops", "is the answer";
|
|---|
| 590 |
|
|---|
| 591 | This prints "42 is the answer" on my machine. That is, it's the same as
|
|---|
| 592 |
|
|---|
| 593 | foo( bar( baz() / 2) || "oops", "is the answer");
|
|---|
| 594 |
|
|---|
| 595 | Attempting to compile
|
|---|
| 596 |
|
|---|
| 597 | foo;
|
|---|
| 598 |
|
|---|
| 599 | results in
|
|---|
| 600 |
|
|---|
| 601 | Too few arguments for main::foo at ./try line 8, near "foo;"
|
|---|
| 602 |
|
|---|
| 603 | Compiling
|
|---|
| 604 |
|
|---|
| 605 | bar 1,2,3;
|
|---|
| 606 |
|
|---|
| 607 | results in
|
|---|
| 608 |
|
|---|
| 609 | Too many arguments for main::bar at ./try line 8, near "foo;"
|
|---|
| 610 |
|
|---|
| 611 | But
|
|---|
| 612 |
|
|---|
| 613 | @array = ('a','b','c');
|
|---|
| 614 | foo @array, @array;
|
|---|
| 615 |
|
|---|
| 616 | prints "3 a b c" because the $ puts the first arg of foo into scalar context.
|
|---|
| 617 |
|
|---|
| 618 | The main win at this point is that we can say
|
|---|
| 619 |
|
|---|
| 620 | sub AAA () { 1; }
|
|---|
| 621 | sub BBB () { 2; }
|
|---|
| 622 |
|
|---|
| 623 | and the user can say AAA + BBB and get 3.
|
|---|
| 624 |
|
|---|
| 625 | I'm not quite sure how this interacts with autoloading though. I fear
|
|---|
| 626 | POSIX.pm will need to say
|
|---|
| 627 |
|
|---|
| 628 | sub E2BIG ();
|
|---|
| 629 | sub EACCES ();
|
|---|
| 630 | sub EAGAIN ();
|
|---|
| 631 | sub EBADF ();
|
|---|
| 632 | sub EBUSY ();
|
|---|
| 633 | ...
|
|---|
| 634 | sub _SC_STREAM_MAX ();
|
|---|
| 635 | sub _SC_TZNAME_MAX ();
|
|---|
| 636 | sub _SC_VERSION ();
|
|---|
| 637 |
|
|---|
| 638 | unless we can figure out how to efficiently declare a default prototype
|
|---|
| 639 | at import time. Meaning, not using eval. Currently
|
|---|
| 640 |
|
|---|
| 641 | *foo = \&bar;
|
|---|
| 642 |
|
|---|
| 643 | (the ordinary import mechanism) implicitly stubs &bar with no prototype if
|
|---|
| 644 | &bar is not yet declared. It's almost like you want an AUTOPROTO to
|
|---|
| 645 | go with your AUTOLOAD.
|
|---|
| 646 |
|
|---|
| 647 | Another thing to rub one's 5 o'clock shadow over is that there's no way
|
|---|
| 648 | to apply a prototype to a method call at compile time.
|
|---|
| 649 |
|
|---|
| 650 | And no, I don't want to have the
|
|---|
| 651 |
|
|---|
| 652 | sub howabout ($formal, @arguments) { ... }
|
|---|
| 653 |
|
|---|
| 654 | argument right now.
|
|---|
| 655 |
|
|---|
| 656 | Larry
|
|---|
| 657 |
|
|---|
| 658 | NETaa14422: couldn't take reference of a prototyped function
|
|---|
| 659 | Files patched: op.c
|
|---|
| 660 | (same)
|
|---|
| 661 |
|
|---|
| 662 | NETaa14423: use didn't allow expressions involving the scratch pad
|
|---|
| 663 | From: Graham Barr
|
|---|
| 664 | Files patched: op.c perly.c perly.c.diff perly.y proto.h vms/perly_c.vms
|
|---|
| 665 | Applied suggested patch.
|
|---|
| 666 |
|
|---|
| 667 | NETaa14444: lexical scalar didn't autovivify
|
|---|
| 668 | From: Gurusamy Sarathy
|
|---|
| 669 | Files patched: op.c pp_hot.c
|
|---|
| 670 | It didn't have code in pp_padsv to do the right thing.
|
|---|
| 671 |
|
|---|
| 672 | NETaa14448: caller could dump core when used within an eval or require
|
|---|
| 673 | From: Danny R. Faught
|
|---|
| 674 | Files patched: pp_ctl.c
|
|---|
| 675 | caller() was incorrectly assuming the context stack contained a subroutine
|
|---|
| 676 | context when it in fact contained an eval context.
|
|---|
| 677 |
|
|---|
| 678 | NETaa14451: improved error message on bad pipe filehandle
|
|---|
| 679 | From: Danny R. Faught
|
|---|
| 680 | Files patched: pp_sys.c
|
|---|
| 681 | Now says the slightly more informative
|
|---|
| 682 |
|
|---|
| 683 | Can't use an undefined value as filehandle reference at ./try line 3.
|
|---|
| 684 |
|
|---|
| 685 | NETaa14462: pp_dbstate had a scope leakage on recursion suppression
|
|---|
| 686 | From: Tim Bunce
|
|---|
| 687 | Files patched: pp_ctl.c
|
|---|
| 688 | Swapped the code in question around.
|
|---|
| 689 |
|
|---|
| 690 | NETaa14482: sv_unref freed ref prematurely at times
|
|---|
| 691 | From: Gurusamy Sarathy
|
|---|
| 692 | Files patched: sv.c
|
|---|
| 693 | Made sv_unref() mortalize rather than free the old reference.
|
|---|
| 694 |
|
|---|
| 695 | NETaa14484: appending string to array produced bizarre results
|
|---|
| 696 | From: Greg Ward
|
|---|
| 697 | Also: Malcolm Beattie
|
|---|
| 698 | Files patched: pp_hot.c
|
|---|
| 699 | Will now say, "Can't coerce ARRAY to string".
|
|---|
| 700 |
|
|---|
| 701 | NETaa14525: assignment to globs didn't reset them correctly
|
|---|
| 702 | From: Gurusamy Sarathy
|
|---|
| 703 | Files patched: sv.c
|
|---|
| 704 | Applied parts of patch not overridden by subsequent patch.
|
|---|
| 705 |
|
|---|
| 706 | NETaa14529: a partially matching subpattern could spoof infinity detector
|
|---|
| 707 | From: Wayne Berke
|
|---|
| 708 | Files patched: regexec.c
|
|---|
| 709 | A partial match on a subpattern could fool the infinite regress detector
|
|---|
| 710 | into thinking progress had been made.
|
|---|
| 711 | The previous workaround prevented another bug (NETaa14529) from being fixed,
|
|---|
| 712 | so I've backed it out. I'll need to think more about how to detect failure
|
|---|
| 713 | to progress. I'm still hopeful it's not equivalent to the halting problem.
|
|---|
| 714 |
|
|---|
| 715 | NETaa14535: patches from Gurusamy Sarathy
|
|---|
| 716 | From: Gurusamy Sarathy
|
|---|
| 717 | Files patched: op.c pp.c pp_hot.c regexec.c sv.c toke.c
|
|---|
| 718 | Applied most recent suggested patches.
|
|---|
| 719 |
|
|---|
| 720 | NETaa14537: select() can return too soon
|
|---|
| 721 | From: Matt Kimball
|
|---|
| 722 | Also: Andreas Gustafsson
|
|---|
| 723 | Files patched: pp_sys.c
|
|---|
| 724 |
|
|---|
| 725 | NETaa14538: method calls were treated like do {} under loop modifiers
|
|---|
| 726 | From: Ilya Zakharevich
|
|---|
| 727 | Files patched: perly.c perly.y
|
|---|
| 728 | Needed to take the OPf_SPECIAL flag off of entersubs from method reductions.
|
|---|
| 729 | (It was probably a cut-and-paste error from long ago.)
|
|---|
| 730 |
|
|---|
| 731 | NETaa14540: foreach (@array) no longer does extra stack copy
|
|---|
| 732 | From: [email protected]
|
|---|
| 733 | Files patched: Todo op.c pp_ctl.c pp_hot.c
|
|---|
| 734 | Fixed by doing the foreach(@array) optimization, so it iterates
|
|---|
| 735 | directly through the array, and can detect the implicit shift from
|
|---|
| 736 | referencing <>.
|
|---|
| 737 |
|
|---|
| 738 | NETaa14541: new version of perlbug
|
|---|
| 739 | From: Kenneth Albanowski
|
|---|
| 740 | Files patched: README pod/perl.pod utils/perlbug.PL
|
|---|
| 741 | Brought it up to version 1.09.
|
|---|
| 742 |
|
|---|
| 743 | NETaa14541: perlbug 1.11
|
|---|
| 744 | Files patched: utils/perlbug.PL
|
|---|
| 745 | (same)
|
|---|
| 746 |
|
|---|
| 747 | NETaa14548: magic sets didn't check private OK bits
|
|---|
| 748 | From: W. Bradley Rubenstein
|
|---|
| 749 | Files patched: mg.c
|
|---|
| 750 | The magic code was getting mixed up between private and public POK bits.
|
|---|
| 751 |
|
|---|
| 752 | NETaa14550: made ~ magic magical
|
|---|
| 753 | From: Tim Bunce
|
|---|
| 754 | Files patched: sv.c
|
|---|
| 755 | Applied suggested patch.
|
|---|
| 756 |
|
|---|
| 757 | NETaa14551: humongous header causes infinite loop in format
|
|---|
| 758 | From: Grace Lee
|
|---|
| 759 | Files patched: pp_sys.c
|
|---|
| 760 | Needed to check for page exhaustion after doing top-of-form.
|
|---|
| 761 |
|
|---|
| 762 | NETaa14558: attempt to call undefined top format core dumped
|
|---|
| 763 | From: Hallvard B Furuseth
|
|---|
| 764 | Files patched: pod/perldiag.pod pp_sys.c
|
|---|
| 765 | Now issues an error on attempts to call a non-existent top format.
|
|---|
| 766 |
|
|---|
| 767 | NETaa14561: Gurusamy Sarathy's G_KEEPERR patch
|
|---|
| 768 | From: Andreas Koenig
|
|---|
| 769 | Also: Gurusamy Sarathy
|
|---|
| 770 | Also: Tim Bunce
|
|---|
| 771 | Files patched: cop.h interp.sym perl.c perl.h pp_ctl.c pp_sys.c sv.c toke.c
|
|---|
| 772 | Applied latest patch.
|
|---|
| 773 |
|
|---|
| 774 | NETaa14581: shouldn't execute BEGIN when there are compilation errors
|
|---|
| 775 | From: Rickard Westman
|
|---|
| 776 | Files patched: op.c
|
|---|
| 777 | Perl should not try to execute BEGIN and END blocks if there's been a
|
|---|
| 778 | compilation error.
|
|---|
| 779 |
|
|---|
| 780 | NETaa14582: got SEGV sorting sparse array
|
|---|
| 781 | From: Rick Pluta
|
|---|
| 782 | Files patched: pp_ctl.c
|
|---|
| 783 | Now weeds out undefined values much like Perl 4 did.
|
|---|
| 784 | Now sorts undefined values to the front.
|
|---|
| 785 |
|
|---|
| 786 | NETaa14582: sort was letting unsortable values through to comparison routine
|
|---|
| 787 | Files patched: pp_ctl.c
|
|---|
| 788 | (same)
|
|---|
| 789 |
|
|---|
| 790 | NETaa14585: globs in pad space weren't properly cleaned up
|
|---|
| 791 | From: Gurusamy Sarathy
|
|---|
| 792 | Files patched: op.c pp.c pp_hot.c sv.c
|
|---|
| 793 | Applied suggested patch.
|
|---|
| 794 |
|
|---|
| 795 | NETaa14614: now does dbmopen with perl_eval_sv()
|
|---|
| 796 | From: The Man
|
|---|
| 797 | Files patched: perl.c pp_sys.c proto.h
|
|---|
| 798 | dbmopen now invokes perl_eval_sv(), which should handle error conditions
|
|---|
| 799 | better.
|
|---|
| 800 |
|
|---|
| 801 | NETaa14618: exists doesn't work in GDBM_File
|
|---|
| 802 | From: Andrew Wilcox
|
|---|
| 803 | Files patched: ext/GDBM_File/GDBM_File.xs
|
|---|
| 804 | Applied suggested patch.
|
|---|
| 805 |
|
|---|
| 806 | NETaa14619: tied()
|
|---|
| 807 | From: Larry Wall
|
|---|
| 808 | Also: Paul Marquess
|
|---|
| 809 | Files patched: embed.h global.sym keywords.h keywords.pl opcode.h opcode.pl pp_sys.c toke.c
|
|---|
| 810 | Applied suggested patch.
|
|---|
| 811 |
|
|---|
| 812 | NETaa14636: Jumbo Dynaloader patch
|
|---|
| 813 | From: Tim Bunce
|
|---|
| 814 | 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
|
|---|
| 815 | Applied suggested patches.
|
|---|
| 816 |
|
|---|
| 817 | NETaa14637: checkcomma routine was stupid about bareword sub calls
|
|---|
| 818 | From: Tim Bunce <[email protected]>
|
|---|
| 819 | Files patched: toke.c
|
|---|
| 820 | The checkcomma routine was stupid about bareword sub calls.
|
|---|
| 821 |
|
|---|
| 822 | NETaa14639: (?i) didn't reset on runtime patterns
|
|---|
| 823 | From: Mark A. Scheel
|
|---|
| 824 | Files patched: op.h pp_ctl.c toke.c
|
|---|
| 825 | It didn't distinguish between permanent flags outside the pattern and
|
|---|
| 826 | temporary flags within the pattern.
|
|---|
| 827 |
|
|---|
| 828 | NETaa14649: selecting anonymous globs dumps core
|
|---|
| 829 | From: Chip Salzenberg
|
|---|
| 830 | Files patched: cop.h doio.c embed.h global.sym perl.c pp_sys.c proto.h
|
|---|
| 831 | Applied suggested patch, but reversed the increment and decrement to avoid
|
|---|
| 832 | decrementing and freeing what we're going to increment.
|
|---|
| 833 |
|
|---|
| 834 | NETaa14655: $? returned negative value on AIX
|
|---|
| 835 | From: Kim Frutiger
|
|---|
| 836 | Also: Stephen D. Lee
|
|---|
| 837 | Files patched: pp_sys.c
|
|---|
| 838 | Applied suggested patch.
|
|---|
| 839 |
|
|---|
| 840 | NETaa14668: {2,} could match once
|
|---|
| 841 | From: Hugo van der Sanden
|
|---|
| 842 | Files patched: regexec.c
|
|---|
| 843 | When an internal pattern failed a conjecture, it didn't back off on the
|
|---|
| 844 | number of times it thought it had matched.
|
|---|
| 845 |
|
|---|
| 846 | NETaa14673: open $undefined dumped core
|
|---|
| 847 | From: Samuli K{rkk{inen
|
|---|
| 848 | Files patched: pp_sys.c
|
|---|
| 849 | pp_open() didn't check its argument for globness.
|
|---|
| 850 |
|
|---|
| 851 | NETaa14683: stringifies were running pad out of space
|
|---|
| 852 | From: Robin Barker
|
|---|
| 853 | Files patched: op.h toke.c
|
|---|
| 854 | Increased PADOFFSET to a U32, and made lexer not put double-quoted strings
|
|---|
| 855 | inside OP_STRINGIFY unless they really needed it.
|
|---|
| 856 |
|
|---|
| 857 | NETaa14689: shouldn't have . in @INC when tainting
|
|---|
| 858 | From: William R. Somsky
|
|---|
| 859 | Files patched: perl.c
|
|---|
| 860 | Now does not put . into @INC when tainting. It may still be added with a
|
|---|
| 861 |
|
|---|
| 862 | use lib ".";
|
|---|
| 863 |
|
|---|
| 864 | or, to put it at the end,
|
|---|
| 865 |
|
|---|
| 866 | BEGIN { push(@INC, ".") }
|
|---|
| 867 |
|
|---|
| 868 | but this is not recommended unless a chdir to a known location has been done
|
|---|
| 869 | first.
|
|---|
| 870 |
|
|---|
| 871 | NETaa14690: values inside tainted SVs were ignored
|
|---|
| 872 | From: "James M. Stern"
|
|---|
| 873 | Files patched: pp.c pp_ctl.c
|
|---|
| 874 | It was assuming that a tainted value was a string.
|
|---|
| 875 |
|
|---|
| 876 | NETaa14692: format name required qualification under use strict
|
|---|
| 877 | From: Tom Christiansen
|
|---|
| 878 | Files patched: gv.c
|
|---|
| 879 | Now treats format names the same as subroutine names.
|
|---|
| 880 |
|
|---|
| 881 | NETaa14695: added simple regexp caching
|
|---|
| 882 | From: John Rowe
|
|---|
| 883 | Files patched: pp_ctl.c
|
|---|
| 884 | Applied suggested patch.
|
|---|
| 885 |
|
|---|
| 886 | NETaa14697: regexp comments were sometimes wrongly treated as literal text
|
|---|
| 887 | From: Tom Christiansen
|
|---|
| 888 | Files patched: regcomp.c
|
|---|
| 889 | The literal-character grabber didn't know about extended comments.
|
|---|
| 890 | N.B. '#' is treated as a comment character whenever the /x option is
|
|---|
| 891 | used now, so you can't include '#' as a simple literal in /x regexps.
|
|---|
| 892 |
|
|---|
| 893 | (By the way, Tom, the boxed form of quoting in the previous enclosure is
|
|---|
| 894 | exceeding antisocial when you want to extract the code from it.)
|
|---|
| 895 |
|
|---|
| 896 | NETaa14704: closure got wrong outer scope if outer sub was predeclared
|
|---|
| 897 | From: Marc Paquette
|
|---|
| 898 | Files patched: op.c
|
|---|
| 899 | The outer scope of the anonymous sub was set to the stub rather than to
|
|---|
| 900 | the actual subroutine. I kludged it by making the outer scope of the
|
|---|
| 901 | stub be the actual subroutine, if anything is depending on the stub.
|
|---|
| 902 |
|
|---|
| 903 | NETaa14705: $foo .= $foo did free memory read
|
|---|
| 904 | From: Gerd Knops
|
|---|
| 905 | Files patched: sv.c
|
|---|
| 906 | Now modifies address to copy if it was reallocated.
|
|---|
| 907 |
|
|---|
| 908 | NETaa14709: Chip's FileHandle stuff
|
|---|
| 909 | From: Larry Wall
|
|---|
| 910 | Also: Chip Salzenberg
|
|---|
| 911 | 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
|
|---|
| 912 | Applied suggested patches.
|
|---|
| 913 |
|
|---|
| 914 | NETaa14711: added (&) and (*) prototypes for blocks and symbols
|
|---|
| 915 | From: Kenneth Albanowski
|
|---|
| 916 | Files patched: Makefile.SH op.c perly.c perly.h perly.y toke.c
|
|---|
| 917 | & now means that it must have an anonymous sub as that argument. If
|
|---|
| 918 | it's the first argument, the sub may be specified as a block in the
|
|---|
| 919 | indirect object slot, much like grep or sort, which have prototypes of (&@).
|
|---|
| 920 |
|
|---|
| 921 | Also added * so you can do things like
|
|---|
| 922 |
|
|---|
| 923 | sub myopen (*;$);
|
|---|
| 924 |
|
|---|
| 925 | myopen(FOO, $filename);
|
|---|
| 926 |
|
|---|
| 927 | NETaa14713: setuid FROM root now defaults to not do tainting
|
|---|
| 928 | From: Tony Camas
|
|---|
| 929 | Files patched: mg.c perl.c pp_hot.c
|
|---|
| 930 | Applied suggested patch.
|
|---|
| 931 |
|
|---|
| 932 | NETaa14714: duplicate magics could be added to an SV
|
|---|
| 933 | From: Yary Hluchan
|
|---|
| 934 | Files patched: sv.c sv.c
|
|---|
| 935 | The sv_magic() routine didn't properly check to see if it already had a
|
|---|
| 936 | magic of that type. Ordinarily it would have, but it was called during
|
|---|
| 937 | mg_get(), which forces the magic flags off temporarily.
|
|---|
| 938 |
|
|---|
| 939 | NETaa14721: sub defined during erroneous do-FILE caused core dump
|
|---|
| 940 | From: David Campbell
|
|---|
| 941 | Files patched: op.c
|
|---|
| 942 | Fixed the seg fault. I couldn't reproduce the return problem.
|
|---|
| 943 |
|
|---|
| 944 | NETaa14734: ref should never return undef
|
|---|
| 945 | From: Dale Amon
|
|---|
| 946 | Files patched: pp.c t/op/overload.t
|
|---|
| 947 | Now returns null string.
|
|---|
| 948 |
|
|---|
| 949 | NETaa14751: slice of undefs now returns null list
|
|---|
| 950 | From: Tim Bunce
|
|---|
| 951 | Files patched: pp.c pp_hot.c
|
|---|
| 952 | Null list clobberation is now done in lslice, not aassign.
|
|---|
| 953 |
|
|---|
| 954 | NETaa14789: select coredumped on Linux
|
|---|
| 955 | From: Ulrich Kunitz
|
|---|
| 956 | Files patched: pp_sys.c
|
|---|
| 957 | Applied suggested patches, more or less.
|
|---|
| 958 |
|
|---|
| 959 | NETaa14789: straightened out ins and out of duping
|
|---|
| 960 | Files patched: lib/IPC/Open3.pm
|
|---|
| 961 | (same)
|
|---|
| 962 |
|
|---|
| 963 | NETaa14791: implemented internal SUPER class
|
|---|
| 964 | From: Nick Ing-Simmons
|
|---|
| 965 | Also: Dean Roehrich
|
|---|
| 966 | Files patched: gv.c
|
|---|
| 967 | Applied suggested patch.
|
|---|
| 968 |
|
|---|
| 969 | NETaa14845: s/// didn't handle offset strings
|
|---|
| 970 | From: Ken MacLeod
|
|---|
| 971 | Files patched: pp_ctl.c
|
|---|
| 972 | Needed a call to SvOOK_off(targ) in pp_substcont().
|
|---|
| 973 |
|
|---|
| 974 | NETaa14851: Use of << to mean <<"" is deprecated
|
|---|
| 975 | From: Larry Wall
|
|---|
| 976 | Files patched: toke.c
|
|---|
| 977 |
|
|---|
| 978 | NETaa14865: added HINT_BLOCK_SCOPE to "elsif"
|
|---|
| 979 | From: Jim Avera
|
|---|
| 980 | Files patched: perly.y
|
|---|
| 981 | Needed to set HINT_BLOCK_SCOPE on "elsif" to prevent the do block from
|
|---|
| 982 | being optimized away, which caused the statement transition in elsif
|
|---|
| 983 | to reset the stack too far back.
|
|---|
| 984 |
|
|---|
| 985 | NETaa14876: couldn't delete localized GV safely
|
|---|
| 986 | From: John Hughes
|
|---|
| 987 | Files patched: pp.c scope.c
|
|---|
| 988 | The reference count of the "borrowed" GV needed to be incremented while
|
|---|
| 989 | there was a reference to it in the savestack.
|
|---|
| 990 |
|
|---|
| 991 | NETaa14887: couldn't negate magical scalars
|
|---|
| 992 | From: ian
|
|---|
| 993 | Also: Gurusamy Sarathy
|
|---|
| 994 | Files patched: pp.c
|
|---|
| 995 | Applied suggested patch, more or less. (It's not necessary to test both
|
|---|
| 996 | SvNIOK and SvNIOKp, since the private bits are always set if the public
|
|---|
| 997 | bits are set.)
|
|---|
| 998 |
|
|---|
| 999 | NETaa14893: /m modifier was sticky
|
|---|
| 1000 | From: Jim Avera
|
|---|
| 1001 | Files patched: pp_ctl.c
|
|---|
| 1002 | pp_match() and pp_subst() were using an improperly scoped SAVEINT to restore
|
|---|
| 1003 | the value of the internal variable multiline.
|
|---|
| 1004 |
|
|---|
| 1005 | NETaa14893: /m modifier was sticky
|
|---|
| 1006 | Files patched: cop.h pp_hot.c
|
|---|
| 1007 | (same)
|
|---|
| 1008 |
|
|---|
| 1009 | NETaa14916: complete.pl retained old return value
|
|---|
| 1010 | From: Martyn Pearce
|
|---|
| 1011 | Files patched: lib/complete.pl
|
|---|
| 1012 | Applied suggested patch.
|
|---|
| 1013 |
|
|---|
| 1014 | NETaa14928: non-const 3rd arg to split assigned to list could coredump
|
|---|
| 1015 | From: Hans de Graaff
|
|---|
| 1016 | Files patched: op.c
|
|---|
| 1017 | The optimizer was assuming the OP was an OP_CONST.
|
|---|
| 1018 |
|
|---|
| 1019 | NETaa14942: substr as lvalue could disable magic
|
|---|
| 1020 | From: Darrell Kindred <[email protected]>
|
|---|
| 1021 | Files patched: pp.c
|
|---|
| 1022 | The substr was disabling the magic of $1.
|
|---|
| 1023 |
|
|---|
| 1024 | NETaa14990: "not" not parseable when expecting term
|
|---|
| 1025 | From: "Randal L. Schwartz"
|
|---|
| 1026 | Files patched: perly.c perly.c.diff perly.y vms/perly_c.vms
|
|---|
| 1027 | The NOTOP production needed to be moved down into the terms.
|
|---|
| 1028 |
|
|---|
| 1029 | NETaa14993: Bizarre copy of formline
|
|---|
| 1030 | From: Tom Christiansen
|
|---|
| 1031 | Also: Charles Bailey
|
|---|
| 1032 | Files patched: sv.c
|
|---|
| 1033 | Applied suggested patch.
|
|---|
| 1034 |
|
|---|
| 1035 | NETaa14998: sv_add_arena() no longer leaks memory
|
|---|
| 1036 | From: Andreas Koenig
|
|---|
| 1037 | Files patched: av.c hv.c perl.h sv.c
|
|---|
| 1038 | Now keeps one potential arena "on tap", but doesn't use it unless there's
|
|---|
| 1039 | demand for SV headers. When an AV or HV is extended, its old memory
|
|---|
| 1040 | becomes the next potential arena unless there already is one, in which
|
|---|
| 1041 | case it is simply freed. This will have the desired property of not
|
|---|
| 1042 | stranding medium-sized chunks of memory when extending a single array
|
|---|
| 1043 | repeatedly, but will not degrade when there's no SV demand beyond keeping
|
|---|
| 1044 | one chunk of memory on tap, which generally will be about 250 bytes big,
|
|---|
| 1045 | since it prefers the earlier freed chunk over the later. See the nice_chunk
|
|---|
| 1046 | variable.
|
|---|
| 1047 |
|
|---|
| 1048 | NETaa14999: $a and $b now protected from use strict and lexical declaration
|
|---|
| 1049 | From: Tom Christiansen
|
|---|
| 1050 | Files patched: gv.c pod/perldiag.pod toke.c
|
|---|
| 1051 | Bare $a and $b are now allowed during "use strict". In addition,
|
|---|
| 1052 | the following diag was added:
|
|---|
| 1053 |
|
|---|
| 1054 | =item Can't use "my %s" in sort comparison
|
|---|
| 1055 |
|
|---|
| 1056 | (F) The global variables $a and $b are reserved for sort comparisons.
|
|---|
| 1057 | You mentioned $a or $b in the same line as the <=> or cmp operator,
|
|---|
| 1058 | and the variable had earlier been declared as a lexical variable.
|
|---|
| 1059 | Either qualify the sort variable with the package name, or rename the
|
|---|
| 1060 | lexical variable.
|
|---|
| 1061 |
|
|---|
| 1062 |
|
|---|
| 1063 | NETaa15034: use strict refs should allow calls to prototyped functions
|
|---|
| 1064 | From: Roderick Schertler
|
|---|
| 1065 | Files patched: perly.c perly.c.diff perly.y toke.c vms/perly_c.vms
|
|---|
| 1066 | Applied patch suggested by Chip.
|
|---|
| 1067 |
|
|---|
| 1068 | NETaa15083: forced $AUTOLOAD to be untainted
|
|---|
| 1069 | From: Tim Bunce
|
|---|
| 1070 | Files patched: gv.c pp_hot.c
|
|---|
| 1071 | Stripped any taintmagic from $AUTOLOAD after setting it.
|
|---|
| 1072 |
|
|---|
| 1073 | NETaa15084: patch for Term::Cap
|
|---|
| 1074 | From: Mark Kaehny
|
|---|
| 1075 | Also: Hugo van der Sanden
|
|---|
| 1076 | Files patched: lib/Term/Cap.pm
|
|---|
| 1077 | Applied suggested patch.
|
|---|
| 1078 |
|
|---|
| 1079 | NETaa15086: null pattern could cause coredump in s//_$1_/
|
|---|
| 1080 | From: "Paul E. Maisano"
|
|---|
| 1081 | Files patched: cop.h pp_ctl.c
|
|---|
| 1082 | If the replacement pattern was complicated enough to cause pp_substcont
|
|---|
| 1083 | to be called, then it lost track of which REGEXP* it was supposed to
|
|---|
| 1084 | be using.
|
|---|
| 1085 |
|
|---|
| 1086 | NETaa15087: t/io/pipe.t didn't work on AIX
|
|---|
| 1087 | From: Andy Dougherty
|
|---|
| 1088 | Files patched: t/io/pipe.t
|
|---|
| 1089 | Applied suggested patch.
|
|---|
| 1090 |
|
|---|
| 1091 | NETaa15088: study was busted
|
|---|
| 1092 | From: Hugo van der Sanden
|
|---|
| 1093 | Files patched: opcode.h opcode.pl pp.c
|
|---|
| 1094 | It was studying its scratch pad target rather than the argument supplied.
|
|---|
| 1095 |
|
|---|
| 1096 | NETaa15090: MSTATS patch
|
|---|
| 1097 | From: Tim Bunce
|
|---|
| 1098 | Files patched: global.sym malloc.c perl.c perl.h proto.h
|
|---|
| 1099 | Applied suggested patch.
|
|---|
| 1100 |
|
|---|
| 1101 | NETaa15098: longjmp out of magic leaks memory
|
|---|
| 1102 | From: Chip Salzenberg
|
|---|
| 1103 | Files patched: mg.c sv.c
|
|---|
| 1104 | Applied suggested patch.
|
|---|
| 1105 |
|
|---|
| 1106 | NETaa15102: getpgrp() is broken if getpgrp2() is available
|
|---|
| 1107 | From: Roderick Schertler
|
|---|
| 1108 | Files patched: perl.h pp_sys.c
|
|---|
| 1109 | Applied suggested patch.
|
|---|
| 1110 |
|
|---|
| 1111 | NETaa15103: prototypes leaked opcodes
|
|---|
| 1112 | From: Chip Salzenberg
|
|---|
| 1113 | Files patched: op.c
|
|---|
| 1114 | Applied suggested patch.
|
|---|
| 1115 |
|
|---|
| 1116 | NETaa15107: quotameta memory bug on all metacharacters
|
|---|
| 1117 | From: Chip Salzenberg
|
|---|
| 1118 | Files patched: pp.c
|
|---|
| 1119 | Applied suggested patch.
|
|---|
| 1120 |
|
|---|
| 1121 | NETaa15108: Fix for incomplete string leak
|
|---|
| 1122 | From: Chip Salzenberg
|
|---|
| 1123 | Files patched: toke.c
|
|---|
| 1124 | Applied suggested patch.
|
|---|
| 1125 |
|
|---|
| 1126 | NETaa15110: couldn't use $/ with 8th bit set on some architectures
|
|---|
| 1127 | From: Chip Salzenberg
|
|---|
| 1128 | 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
|
|---|
| 1129 | Applied suggested patches.
|
|---|
| 1130 |
|
|---|
| 1131 | NETaa15112: { a_1 => 2 } didn't parse as expected
|
|---|
| 1132 | From: Stuart M. Weinstein
|
|---|
| 1133 | Files patched: toke.c
|
|---|
| 1134 | The little dwimmer was only skipping ALPHA rather than ALNUM chars.
|
|---|
| 1135 |
|
|---|
| 1136 | NETaa15123: bitwise ops produce spurious warnings
|
|---|
| 1137 | From: Hugo van der Sanden
|
|---|
| 1138 | Also: Chip Salzenberg
|
|---|
| 1139 | Also: Andreas Gustafsson
|
|---|
| 1140 | Files patched: sv.c
|
|---|
| 1141 | Decided to suppress the warning in the conversion routines if merely converting
|
|---|
| 1142 | a temporary, which can never be a user-supplied value anyway.
|
|---|
| 1143 |
|
|---|
| 1144 | NETaa15129: #if defined (foo) misparsed in h2ph
|
|---|
| 1145 | From: Roderick Schertler <[email protected]>
|
|---|
| 1146 | Files patched: utils/h2ph.PL
|
|---|
| 1147 | Applied suggested patch.
|
|---|
| 1148 |
|
|---|
| 1149 | NETaa15131: some POSIX functions assumed valid filehandles
|
|---|
| 1150 | From: Chip Salzenberg
|
|---|
| 1151 | Files patched: ext/POSIX/POSIX.xs
|
|---|
| 1152 | Applied suggested patch.
|
|---|
| 1153 |
|
|---|
| 1154 | NETaa15151: don't optimize split on OPpASSIGN_COMMON
|
|---|
| 1155 | From: Huw Rogers
|
|---|
| 1156 | Files patched: op.c
|
|---|
| 1157 | Had to swap the optimization down to after the assignment op is generated
|
|---|
| 1158 | and COMMON is calculated, and then clean up the resultant tree differently.
|
|---|
| 1159 |
|
|---|
| 1160 | NETaa15154: MakeMaker-5.18
|
|---|
| 1161 | From: Andreas Koenig
|
|---|
| 1162 | Files patched: MANIFEST lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_VMS.pm lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm
|
|---|
| 1163 | Brought it up to 5.18.
|
|---|
| 1164 |
|
|---|
| 1165 | NETaa15156: some Exporter tweaks
|
|---|
| 1166 | From: Roderick Schertler
|
|---|
| 1167 | Also: Tim Bunce
|
|---|
| 1168 | Files patched: lib/Exporter.pm
|
|---|
| 1169 | Also did Tim's Tiny Trivial patch.
|
|---|
| 1170 |
|
|---|
| 1171 | NETaa15157: new version of Test::Harness
|
|---|
| 1172 | From: Andreas Koenig
|
|---|
| 1173 | Files patched: lib/Test/Harness.pm
|
|---|
| 1174 | Applied suggested patch.
|
|---|
| 1175 |
|
|---|
| 1176 | NETaa15175: overloaded nomethod has garbage 4th op
|
|---|
| 1177 | From: Ilya Zakharevich
|
|---|
| 1178 | Files patched: gv.c
|
|---|
| 1179 | Applied suggested patch.
|
|---|
| 1180 |
|
|---|
| 1181 | NETaa15179: SvPOK_only shouldn't back off on offset pointer
|
|---|
| 1182 | From: [email protected]
|
|---|
| 1183 | Files patched: sv.h
|
|---|
| 1184 | SvPOK_only() was calling SvOOK_off(), which adjusted the string pointer
|
|---|
| 1185 | after tr/// has already acquired it. It shouldn't really be necessary
|
|---|
| 1186 | for SvPOK_only() to undo an offset string pointer, since there's no
|
|---|
| 1187 | conflict with a possible integer value where the offset is stored.
|
|---|
| 1188 |
|
|---|
| 1189 | NETaa15193: & now always bypasses prototype checking
|
|---|
| 1190 | From: Larry Wall
|
|---|
| 1191 | 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
|
|---|
| 1192 | Turned out to be a big hairy deal because the lexer turns foo() into &foo().
|
|---|
| 1193 | But it works consistently now. Also fixed pod.
|
|---|
| 1194 |
|
|---|
| 1195 | NETaa15197: 5.002b2 is 'appending' to $@
|
|---|
| 1196 | From: Gurusamy Sarathy
|
|---|
| 1197 | Files patched: pp_ctl.c
|
|---|
| 1198 | Applied suggested patch.
|
|---|
| 1199 |
|
|---|
| 1200 | NETaa15201: working around Linux DBL_DIG problems
|
|---|
| 1201 | From: Kenneth Albanowski
|
|---|
| 1202 | Files patched: hints/linux.sh sv.c
|
|---|
| 1203 | Applied suggested patch.
|
|---|
| 1204 |
|
|---|
| 1205 | NETaa15208: SelectSaver
|
|---|
| 1206 | From: Chip Salzenberg
|
|---|
| 1207 | Files patched: MANIFEST lib/SelectSaver.pm
|
|---|
| 1208 | Applied suggested patch.
|
|---|
| 1209 |
|
|---|
| 1210 | NETaa15209: DirHandle
|
|---|
| 1211 | From: Chip Salzenberg
|
|---|
| 1212 | Files patched: MANIFEST lib/DirHandle.pm t/lib/dirhand.t
|
|---|
| 1213 |
|
|---|
| 1214 | NETaa15210: sysopen()
|
|---|
| 1215 | From: Chip Salzenberg
|
|---|
| 1216 | Files patched: doio.c keywords.pl lib/ExtUtils/typemap opcode.pl pod/perlfunc.pod pp_hot.c pp_sys.c proto.h toke.c
|
|---|
| 1217 | Applied suggested patch. Hope it works...
|
|---|
| 1218 |
|
|---|
| 1219 | NETaa15211: use mnemonic names in Safe setup
|
|---|
| 1220 | From: Chip Salzenberg
|
|---|
| 1221 | Files patched: ext/Safe/Safe.pm
|
|---|
| 1222 | Applied suggested patch, more or less.
|
|---|
| 1223 |
|
|---|
| 1224 | NETaa15214: prototype()
|
|---|
| 1225 | From: Chip Salzenberg
|
|---|
| 1226 | Files patched: ext/Safe/Safe.pm global.sym keywords.pl opcode.pl pp.c toke.c
|
|---|
| 1227 | Applied suggested patch.
|
|---|
| 1228 |
|
|---|
| 1229 | NETaa15217: -w problem with -d:foo
|
|---|
| 1230 | From: Tim Bunce
|
|---|
| 1231 | Files patched: perl.c
|
|---|
| 1232 | Applied suggested patch.
|
|---|
| 1233 |
|
|---|
| 1234 | NETaa15218: *GLOB{ELEMENT}
|
|---|
| 1235 | From: Larry Wall
|
|---|
| 1236 | 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
|
|---|
| 1237 |
|
|---|
| 1238 | NETaa15219: Make *x=\*y do like *x=*y
|
|---|
| 1239 | From: Chip Salzenberg
|
|---|
| 1240 | Files patched: sv.c
|
|---|
| 1241 | Applied suggested patch.
|
|---|
| 1242 |
|
|---|
| 1243 | NETaa15221: Indigestion with Carp::longmess and big eval '...'s
|
|---|
| 1244 | From: Tim Bunce
|
|---|
| 1245 | Files patched: lib/Carp.pm
|
|---|
| 1246 | Applied suggested patch.
|
|---|
| 1247 |
|
|---|
| 1248 | NETaa15222: VERSION patch for standard extensions
|
|---|
| 1249 | From: Paul Marquess
|
|---|
| 1250 | 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
|
|---|
| 1251 | Applied suggested patch.
|
|---|
| 1252 |
|
|---|
| 1253 | NETaa15222: VERSION patch for standard extensions (reprise)
|
|---|
| 1254 | 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
|
|---|
| 1255 | (same)
|
|---|
| 1256 |
|
|---|
| 1257 | NETaa15227: $i < 10000 should optimize to integer op
|
|---|
| 1258 | From: Larry Wall
|
|---|
| 1259 | Files patched: op.c op.c
|
|---|
| 1260 | The program
|
|---|
| 1261 |
|
|---|
| 1262 | for ($i = 0; $i < 100000; $i++) {
|
|---|
| 1263 | push @foo, $i;
|
|---|
| 1264 | }
|
|---|
| 1265 |
|
|---|
| 1266 | takes about one quarter the memory if the optimizer decides that it can
|
|---|
| 1267 | use an integer < comparison rather than floating point. It now does so
|
|---|
| 1268 | if one side is an integer constant and the other side a simple variable.
|
|---|
| 1269 | This should really help some of our benchmarks. You can still force a
|
|---|
| 1270 | floating point comparison by using 100000.0 instead.
|
|---|
| 1271 |
|
|---|
| 1272 | NETaa15228: CPerl-mode patch
|
|---|
| 1273 | From: Ilya Zakharevich
|
|---|
| 1274 | Files patched: emacs/cperl-mode.el
|
|---|
| 1275 | Applied suggested patch.
|
|---|
| 1276 |
|
|---|
| 1277 | NETaa15231: Symbol::qualify()
|
|---|
| 1278 | From: Chip Salzenberg
|
|---|
| 1279 | Files patched: ext/FileHandle/FileHandle.pm gv.c lib/SelectSaver.pm lib/Symbol.pm pp_hot.c
|
|---|
| 1280 | Applied suggested patch.
|
|---|
| 1281 |
|
|---|
| 1282 | NETaa15236: select select broke under use strict
|
|---|
| 1283 | From: Chip Salzenberg
|
|---|
| 1284 | Files patched: op.c
|
|---|
| 1285 | Instead of inventing a new bit, I just turned off the HINT_STRICT_REFS bit.
|
|---|
| 1286 | I don't think it's worthwhile distinguishing between qualified or unqualified
|
|---|
| 1287 | names to select.
|
|---|
| 1288 |
|
|---|
| 1289 | NETaa15237: use vars
|
|---|
| 1290 | From: Larry Wall
|
|---|
| 1291 | Files patched: MANIFEST gv.c lib/subs.pm lib/vars.pm sv.c
|
|---|
| 1292 |
|
|---|
| 1293 | NETaa15240: keep op names _and_ descriptions
|
|---|
| 1294 | From: Chip Salzenberg
|
|---|
| 1295 | 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
|
|---|
| 1296 | Applied suggested patch.
|
|---|
| 1297 |
|
|---|
| 1298 | NETaa15259: study doesn't unset on string modification
|
|---|
| 1299 | From: Larry Wall
|
|---|
| 1300 | Files patched: mg.c pp.c
|
|---|
| 1301 | Piggybacked on m//g unset magic to unset the study too.
|
|---|
| 1302 |
|
|---|
| 1303 | NETaa15276: pick a better initial cxstack_max
|
|---|
| 1304 | From: Chip Salzenberg
|
|---|
| 1305 | Files patched: perl.c
|
|---|
| 1306 | Added fudge in, and made it calculate how many it could fit into (most of) 8K,
|
|---|
| 1307 | to avoid getting 16K of Kingsley malloc.
|
|---|
| 1308 |
|
|---|
| 1309 | NETaa15287: numeric comparison optimization adjustments
|
|---|
| 1310 | From: Clark Cooper
|
|---|
| 1311 | Files patched: op.c
|
|---|
| 1312 | Applied patch suggested by Chip, with liberalization to >= and <=.
|
|---|
| 1313 |
|
|---|
| 1314 | NETaa15299: couldn't eval string containing pod or __DATA__
|
|---|
| 1315 | From: Andreas Koenig
|
|---|
| 1316 | Also: Gisle Aas
|
|---|
| 1317 | Files patched: toke.c
|
|---|
| 1318 | Basically, eval didn't know how to bypass pods correctly.
|
|---|
| 1319 |
|
|---|
| 1320 | NETaa15300: sv_backoff problems
|
|---|
| 1321 | From: Paul Marquess
|
|---|
| 1322 | Also: mtr
|
|---|
| 1323 | Also: Chip Salzenberg
|
|---|
| 1324 | Files patched: op.c sv.c sv.h
|
|---|
| 1325 | Applied suggested patch.
|
|---|
| 1326 |
|
|---|
| 1327 | NETaa15312: Avoid fclose(NULL)
|
|---|
| 1328 | From: Chip Salzenberg
|
|---|
| 1329 | Files patched: toke.c
|
|---|
| 1330 | Applied suggested patch.
|
|---|
| 1331 |
|
|---|
| 1332 | NETaa15318: didn't set up perl_init_i18nl14n for export
|
|---|
| 1333 | From: Ilya Zakharevich
|
|---|
| 1334 | Files patched: perl_exp.SH
|
|---|
| 1335 | Applied suggested patch.
|
|---|
| 1336 |
|
|---|
| 1337 | NETaa15331: File::Path::rmtree followed symlinks
|
|---|
| 1338 | From: Andreas Koenig
|
|---|
| 1339 | Files patched: lib/File/Path.pm
|
|---|
| 1340 | Added suggested patch, except I did
|
|---|
| 1341 |
|
|---|
| 1342 | if (not -l $root and -d _) {
|
|---|
| 1343 |
|
|---|
| 1344 | for efficiency, since if -d is true, the -l already called lstat on it.
|
|---|
| 1345 |
|
|---|
| 1346 | NETaa15339: sv_gets() didn't reset count
|
|---|
| 1347 | From: [email protected]
|
|---|
| 1348 | Files patched: sv.c
|
|---|
| 1349 | Applied suggested patch.
|
|---|
| 1350 |
|
|---|
| 1351 | NETaa15341: differentiated importation of different types
|
|---|
| 1352 | From: Chip Salzenberg
|
|---|
| 1353 | Files patched: gv.c gv.h op.c perl.c pp.c pp_ctl.c sv.c sv.h toke.c
|
|---|
| 1354 | Applied suggested patch.
|
|---|
| 1355 |
|
|---|
| 1356 | NETaa15342: Consistent handling of e_{fp,tmpname}
|
|---|
| 1357 | From: Chip Salzenberg
|
|---|
| 1358 | Files patched: perl.c pp_ctl.c util.c
|
|---|
| 1359 | Applied suggested patch.
|
|---|
| 1360 |
|
|---|
| 1361 | NETaa15344: Safe gets confused about malloc on AIX
|
|---|
| 1362 | From: Tim Bunce
|
|---|
| 1363 | Files patched: ext/Safe/Safe.xs
|
|---|
| 1364 | Applied suggested patch.
|
|---|
| 1365 |
|
|---|
| 1366 | NETaa15348: -M upgrade
|
|---|
| 1367 | From: Tim Bunce
|
|---|
| 1368 | Files patched: perl.c pod/perlrun.pod
|
|---|
| 1369 | Applied suggested patch.
|
|---|
| 1370 |
|
|---|
| 1371 | NETaa15369: change in split optimization broke scalar context
|
|---|
| 1372 | From: Ulrich Pfeifer
|
|---|
| 1373 | Files patched: op.c
|
|---|
| 1374 | The earlier patch to make the split optimization pay attention to
|
|---|
| 1375 | OPpASSIGN_COMMON rearranged how the syntax tree is constructed, but kept
|
|---|
| 1376 | the wrong context flags. This causes pp_split() do do the wrong thing.
|
|---|
| 1377 |
|
|---|
| 1378 | NETaa15423: can't do subversion numbering because of %5.3f assumptions
|
|---|
| 1379 | From: Andy Dougherty
|
|---|
| 1380 | Files patched: configpm patchlevel.h perl.c perl.h pp_ctl.c
|
|---|
| 1381 | Removed the %5.3f assumptions where appropriate. patchlevel.h now
|
|---|
| 1382 | defines SUBVERSION, which if greater than 0 indicates a development version.
|
|---|
| 1383 |
|
|---|
| 1384 | NETaa15424: Sigsetjmp patch
|
|---|
| 1385 | From: Kenneth Albanowski
|
|---|
| 1386 | Files patched: Configure config_h.SH op.c perl.c perl.h pp_ctl.c util.c
|
|---|
| 1387 | Applied suggested patch.
|
|---|
| 1388 |
|
|---|
| 1389 | Needed to make install paths absolute.
|
|---|
| 1390 | Files patched: installperl
|
|---|
| 1391 |
|
|---|
| 1392 | h2xs 1.14
|
|---|
| 1393 | Files patched: utils/h2xs.PL
|
|---|
| 1394 |
|
|---|
| 1395 | makedir() looped on a symlink to a directory.
|
|---|
| 1396 | Files patched: installperl
|
|---|
| 1397 |
|
|---|
| 1398 | xsubpp 1.932
|
|---|
| 1399 | Files patched: lib/ExtUtils/xsubpp
|
|---|
| 1400 |
|
|---|
| 1401 | ----------------------------------------------------------------
|
|---|
| 1402 | Summary of user-visible Configure and build changes since 5.001:
|
|---|
| 1403 | ----------------------------------------------------------------
|
|---|
| 1404 |
|
|---|
| 1405 | Yet more enhancements and fixes have been made to the Configure and
|
|---|
| 1406 | build process for perl. Most of these will not be visible to the
|
|---|
| 1407 | ordinary user--they just make the process more robust and likely to
|
|---|
| 1408 | work on a wider range of platforms.
|
|---|
| 1409 |
|
|---|
| 1410 | This is a brief summary of the most important changes. A more
|
|---|
| 1411 | detailed description is given below.
|
|---|
| 1412 |
|
|---|
| 1413 | Slightly changed installation directories. See INSTALL.
|
|---|
| 1414 |
|
|---|
| 1415 | Include 5.000 - 5.001 upgrage notes :-) (see below). You might
|
|---|
| 1416 | want to read through them as well as these notes.
|
|---|
| 1417 |
|
|---|
| 1418 | Install documentation for perl modules and pod2* translators. You can
|
|---|
| 1419 | now view perl module documentation with either your system's man(1)
|
|---|
| 1420 | program or with the supplied perldoc script.
|
|---|
| 1421 |
|
|---|
| 1422 | Many hint file updates.
|
|---|
| 1423 |
|
|---|
| 1424 | Improve and simplify detection of local libraries and header files.
|
|---|
| 1425 |
|
|---|
| 1426 | Expand documentation of installation process in new INSTALL file.
|
|---|
| 1427 |
|
|---|
| 1428 | Try to reduce Unixisms (such as SH file extraction) to enhance
|
|---|
| 1429 | portability to other platforms. There's still a long way to go.
|
|---|
| 1430 |
|
|---|
| 1431 | Upgrade Traps and Pitfalls:
|
|---|
| 1432 |
|
|---|
| 1433 | Since a lot has changed in the build process, you are probably best off
|
|---|
| 1434 | starting with a fresh copy of the perl5.002 sources. In particular,
|
|---|
| 1435 | your 5.000 or 5.001 config.sh will contain several variables that are no
|
|---|
| 1436 | longer needed. Further, improvements in the Configure tests may mean
|
|---|
| 1437 | that some of the answers will be different than they were in previous
|
|---|
| 1438 | versions, and which answer to keep can be difficult to sort out.
|
|---|
| 1439 | Therefore, you are probably better off ignoring your old config.sh, as
|
|---|
| 1440 | in the following:
|
|---|
| 1441 |
|
|---|
| 1442 | make -k distclean # (if you've built perl before)
|
|---|
| 1443 | rm -f config.sh # (in case distclean mysteriously fails)
|
|---|
| 1444 | sh Configure [whatever options you like]
|
|---|
| 1445 | make depend
|
|---|
| 1446 | make
|
|---|
| 1447 | make test
|
|---|
| 1448 |
|
|---|
| 1449 | This, and much more, is described in the new INSTALL file.
|
|---|
| 1450 |
|
|---|
| 1451 | Here are the detailed changes from 5.002beta1 to 5.002b2 in
|
|---|
| 1452 | reverse chronolgical order:
|
|---|
| 1453 |
|
|---|
| 1454 | -------------
|
|---|
| 1455 | Version 5.002beta2
|
|---|
| 1456 | -------------
|
|---|
| 1457 |
|
|---|
| 1458 | This is patch.2b2 to perl5.002beta1.
|
|---|
| 1459 | This takes you from 5.002beta1h to 5.002beta2.
|
|---|
| 1460 |
|
|---|
| 1461 | Renaming this as beta2 reflects _my_ feeling that it's time to
|
|---|
| 1462 | wrap up things for the release of 5.002.
|
|---|
| 1463 |
|
|---|
| 1464 | Index: Changes.Conf
|
|---|
| 1465 |
|
|---|
| 1466 | Include changes from patches 2b1a .. 2b1h, as well as this
|
|---|
| 1467 | patch.
|
|---|
| 1468 |
|
|---|
| 1469 | Index: Configure
|
|---|
| 1470 |
|
|---|
| 1471 | Use nm -D on Linux with shared libraries, if the system
|
|---|
| 1472 | supports nm -D.
|
|---|
| 1473 |
|
|---|
| 1474 | Prereq: 3.0.1.8
|
|---|
| 1475 | *** perl5.002b1h/Configure Thu Jan 4 11:14:37 1996
|
|---|
| 1476 | --- perl5.002b2/Configure Thu Jan 11 17:09:13 1996
|
|---|
| 1477 |
|
|---|
| 1478 | Index: MANIFEST
|
|---|
| 1479 |
|
|---|
| 1480 | Include Stub Readline library as part of new debugger.
|
|---|
| 1481 |
|
|---|
| 1482 | Include hints file dec_osf for ODBM_File extension.
|
|---|
| 1483 |
|
|---|
| 1484 | *** perl5.002b1h/MANIFEST Wed Jan 3 14:37:54 1996
|
|---|
| 1485 | --- perl5.002b2/MANIFEST Sat Jan 13 16:30:43 1996
|
|---|
| 1486 |
|
|---|
| 1487 | Index: configpm
|
|---|
| 1488 |
|
|---|
| 1489 | Updates from Tim's -m/-M/-V patch.
|
|---|
| 1490 |
|
|---|
| 1491 | *** perl5.002b1h/configpm Tue Oct 31 11:51:52 1995
|
|---|
| 1492 | --- perl5.002b2/configpm Fri Jan 12 10:53:34 1996
|
|---|
| 1493 |
|
|---|
| 1494 | Index: doop.c
|
|---|
| 1495 |
|
|---|
| 1496 | Chip's patch to use STDCHAR and U8 nearly everywhere instead of
|
|---|
| 1497 | assuming 8-bit chars or ~(char) 0 == 0xff.
|
|---|
| 1498 |
|
|---|
| 1499 | *** perl5.002b1h/doop.c Wed Nov 15 15:08:01 1995
|
|---|
| 1500 | --- perl5.002b2/doop.c Fri Jan 12 15:05:04 1996
|
|---|
| 1501 |
|
|---|
| 1502 | Index: embed.h
|
|---|
| 1503 |
|
|---|
| 1504 | Updates from Tim's -m/-M/-V patch.
|
|---|
| 1505 |
|
|---|
| 1506 | *** perl5.002b1h/embed.h Thu Jan 4 13:28:08 1996
|
|---|
| 1507 | --- perl5.002b2/embed.h Fri Jan 12 15:09:11 1996
|
|---|
| 1508 |
|
|---|
| 1509 | Index: ext/DB_File/Makefile.PL
|
|---|
| 1510 |
|
|---|
| 1511 | Disable prototypes.
|
|---|
| 1512 | Disable pod2man.
|
|---|
| 1513 |
|
|---|
| 1514 | *** perl5.002b1h/ext/DB_File/Makefile.PL Tue Nov 14 14:14:17 1995
|
|---|
| 1515 | --- perl5.002b2/ext/DB_File/Makefile.PL Tue Jan 9 16:54:17 1996
|
|---|
| 1516 |
|
|---|
| 1517 | *** perl5.002b1h/ext/DB_File/Makefile.PL Tue Nov 14 14:14:17 1995
|
|---|
| 1518 | --- perl5.002b2/ext/DB_File/Makefile.PL Sat Jan 13 17:07:11 1996
|
|---|
| 1519 |
|
|---|
| 1520 | Index: ext/DynaLoader/Makefile.PL
|
|---|
| 1521 |
|
|---|
| 1522 | Disable prototypes.
|
|---|
| 1523 | Disable pod2man.
|
|---|
| 1524 |
|
|---|
| 1525 | *** perl5.002b1h/ext/DynaLoader/Makefile.PL Tue Jun 6 12:24:37 1995
|
|---|
| 1526 | --- perl5.002b2/ext/DynaLoader/Makefile.PL Sat Jan 13 17:16:34 1996
|
|---|
| 1527 |
|
|---|
| 1528 | Index: ext/Fcntl/Makefile.PL
|
|---|
| 1529 |
|
|---|
| 1530 | Disable prototypes.
|
|---|
| 1531 | Disable pod2man.
|
|---|
| 1532 |
|
|---|
| 1533 | *** perl5.002b1h/ext/Fcntl/Makefile.PL Thu Jan 19 18:58:52 1995
|
|---|
| 1534 | --- perl5.002b2/ext/Fcntl/Makefile.PL Sat Jan 13 17:16:38 1996
|
|---|
| 1535 |
|
|---|
| 1536 | Index: ext/GDBM_File/GDBM_File.pm
|
|---|
| 1537 |
|
|---|
| 1538 | Make the NAME section a legal paragraph.
|
|---|
| 1539 |
|
|---|
| 1540 | *** perl5.002b1h/ext/GDBM_File/GDBM_File.pm Mon Nov 20 10:22:26 1995
|
|---|
| 1541 | --- perl5.002b2/ext/GDBM_File/GDBM_File.pm Fri Jan 12 16:11:38 1996
|
|---|
| 1542 |
|
|---|
| 1543 | Index: ext/GDBM_File/Makefile.PL
|
|---|
| 1544 |
|
|---|
| 1545 | Disable prototypes.
|
|---|
| 1546 | Disable pod2man.
|
|---|
| 1547 |
|
|---|
| 1548 | *** perl5.002b1h/ext/GDBM_File/Makefile.PL Wed Feb 22 14:36:36 1995
|
|---|
| 1549 | --- perl5.002b2/ext/GDBM_File/Makefile.PL Sat Jan 13 17:08:02 1996
|
|---|
| 1550 |
|
|---|
| 1551 | Index: ext/NDBM_File/Makefile.PL
|
|---|
| 1552 |
|
|---|
| 1553 | Disable prototypes.
|
|---|
| 1554 | Disable pod2man.
|
|---|
| 1555 |
|
|---|
| 1556 | *** perl5.002b1h/ext/NDBM_File/Makefile.PL Wed Feb 22 14:36:39 1995
|
|---|
| 1557 | --- perl5.002b2/ext/NDBM_File/Makefile.PL Sat Jan 13 17:08:13 1996
|
|---|
| 1558 |
|
|---|
| 1559 | Index: ext/ODBM_File/Makefile.PL
|
|---|
| 1560 |
|
|---|
| 1561 | Disable prototypes.
|
|---|
| 1562 | Disable pod2man.
|
|---|
| 1563 |
|
|---|
| 1564 | *** perl5.002b1h/ext/ODBM_File/Makefile.PL Mon Jun 5 15:03:44 1995
|
|---|
| 1565 | --- perl5.002b2/ext/ODBM_File/Makefile.PL Sat Jan 13 17:08:22 1996
|
|---|
| 1566 |
|
|---|
| 1567 | Index: ext/ODBM_File/hints/dec_osf.pl
|
|---|
| 1568 |
|
|---|
| 1569 | New file.
|
|---|
| 1570 |
|
|---|
| 1571 | *** /dev/null Sat Jan 13 16:48:01 1996
|
|---|
| 1572 | --- perl5.002b2/ext/ODBM_File/hints/dec_osf.pl Sat Jan 13 16:30:01 1996
|
|---|
| 1573 |
|
|---|
| 1574 | Index: ext/POSIX/Makefile.PL
|
|---|
| 1575 |
|
|---|
| 1576 | Disable prototypes.
|
|---|
| 1577 | Disable pod2man.
|
|---|
| 1578 |
|
|---|
| 1579 | *** perl5.002b1h/ext/POSIX/Makefile.PL Thu Jan 19 18:59:00 1995
|
|---|
| 1580 | --- perl5.002b2/ext/POSIX/Makefile.PL Sat Jan 13 17:08:27 1996
|
|---|
| 1581 |
|
|---|
| 1582 | Index: ext/SDBM_File/Makefile.PL
|
|---|
| 1583 |
|
|---|
| 1584 | Disable prototypes.
|
|---|
| 1585 | Disable pod2man.
|
|---|
| 1586 |
|
|---|
| 1587 | *** perl5.002b1h/ext/SDBM_File/Makefile.PL Tue Nov 14 11:16:43 1995
|
|---|
| 1588 | --- perl5.002b2/ext/SDBM_File/Makefile.PL Sat Jan 13 17:16:49 1996
|
|---|
| 1589 |
|
|---|
| 1590 | Index: ext/SDBM_File/sdbm/sdbm.c
|
|---|
| 1591 |
|
|---|
| 1592 | Give correct prototype for free.
|
|---|
| 1593 |
|
|---|
| 1594 | Prereq: 1.16
|
|---|
| 1595 | *** perl5.002b1h/ext/SDBM_File/sdbm/sdbm.c Mon Nov 13 23:01:41 1995
|
|---|
| 1596 | --- perl5.002b2/ext/SDBM_File/sdbm/sdbm.c Fri Jan 12 10:33:32 1996
|
|---|
| 1597 |
|
|---|
| 1598 | Index: ext/Safe/Makefile.PL
|
|---|
| 1599 |
|
|---|
| 1600 | Disable prototypes.
|
|---|
| 1601 | Disable pod2man.
|
|---|
| 1602 |
|
|---|
| 1603 | *** perl5.002b1h/ext/Safe/Makefile.PL Tue Jan 2 15:43:53 1996
|
|---|
| 1604 | --- perl5.002b2/ext/Safe/Makefile.PL Sat Jan 13 17:08:45 1996
|
|---|
| 1605 |
|
|---|
| 1606 | Index: ext/Safe/Safe.pm
|
|---|
| 1607 |
|
|---|
| 1608 | Patch from Andreas.
|
|---|
| 1609 |
|
|---|
| 1610 | *** perl5.002b1h/ext/Safe/Safe.pm Tue Jan 2 15:45:27 1996
|
|---|
| 1611 | --- perl5.002b2/ext/Safe/Safe.pm Fri Jan 12 10:52:33 1996
|
|---|
| 1612 |
|
|---|
| 1613 | Index: ext/Safe/Safe.xs
|
|---|
| 1614 |
|
|---|
| 1615 | Patch for older compilers which had namespace confusion.
|
|---|
| 1616 |
|
|---|
| 1617 | *** perl5.002b1h/ext/Safe/Safe.xs Tue Jan 2 15:45:27 1996
|
|---|
| 1618 | --- perl5.002b2/ext/Safe/Safe.xs Fri Jan 5 14:27:47 1996
|
|---|
| 1619 |
|
|---|
| 1620 | Index: ext/Socket/Makefile.PL
|
|---|
| 1621 |
|
|---|
| 1622 | Disable prototypes.
|
|---|
| 1623 | Disable pod2man.
|
|---|
| 1624 |
|
|---|
| 1625 | *** perl5.002b1h/ext/Socket/Makefile.PL Sat Dec 2 16:23:52 1995
|
|---|
| 1626 | --- perl5.002b2/ext/Socket/Makefile.PL Sat Jan 13 17:08:52 1996
|
|---|
| 1627 |
|
|---|
| 1628 | Index: ext/Socket/Socket.xs
|
|---|
| 1629 |
|
|---|
| 1630 | Use unsigned shorts for ports.
|
|---|
| 1631 |
|
|---|
| 1632 | *** perl5.002b1h/ext/Socket/Socket.xs Sat Dec 2 15:46:20 1995
|
|---|
| 1633 | --- perl5.002b2/ext/Socket/Socket.xs Mon Jan 8 21:59:52 1996
|
|---|
| 1634 |
|
|---|
| 1635 | Index: global.sym
|
|---|
| 1636 |
|
|---|
| 1637 | Updates from Tim's -m/-M/-V patch.
|
|---|
| 1638 |
|
|---|
| 1639 | *** perl5.002b1h/global.sym Wed Jan 3 12:01:59 1996
|
|---|
| 1640 | --- perl5.002b2/global.sym Fri Jan 12 10:53:34 1996
|
|---|
| 1641 |
|
|---|
| 1642 | Index: gv.c
|
|---|
| 1643 |
|
|---|
| 1644 | Avoid VMS sprintf bug with buffers >1024.
|
|---|
| 1645 |
|
|---|
| 1646 | *** perl5.002b1h/gv.c Fri Dec 8 10:37:22 1995
|
|---|
| 1647 | --- perl5.002b2/gv.c Fri Jan 12 15:27:27 1996
|
|---|
| 1648 |
|
|---|
| 1649 | Index: hints/aix.sh
|
|---|
| 1650 |
|
|---|
| 1651 | Updated
|
|---|
| 1652 |
|
|---|
| 1653 | *** perl5.002b1h/hints/aix.sh Mon Nov 13 23:03:33 1995
|
|---|
| 1654 | --- perl5.002b2/hints/aix.sh Fri Jan 12 12:09:48 1996
|
|---|
| 1655 |
|
|---|
| 1656 | Index: hints/irix_5.sh
|
|---|
| 1657 |
|
|---|
| 1658 | Updated
|
|---|
| 1659 |
|
|---|
| 1660 | *** perl5.002b1h/hints/irix_5.sh Tue Jan 2 14:53:52 1996
|
|---|
| 1661 | --- perl5.002b2/hints/irix_5.sh Tue Jan 9 16:05:11 1996
|
|---|
| 1662 |
|
|---|
| 1663 | Index: hints/linux.sh
|
|---|
| 1664 |
|
|---|
| 1665 | Updated
|
|---|
| 1666 |
|
|---|
| 1667 | *** perl5.002b1h/hints/linux.sh Fri Jun 2 10:20:55 1995
|
|---|
| 1668 | --- perl5.002b2/hints/linux.sh Fri Jan 12 11:43:52 1996
|
|---|
| 1669 |
|
|---|
| 1670 | Index: hints/machten.sh
|
|---|
| 1671 |
|
|---|
| 1672 | Updated
|
|---|
| 1673 |
|
|---|
| 1674 | *** perl5.002b1h/hints/machten.sh Sun Mar 12 02:36:04 1995
|
|---|
| 1675 | --- perl5.002b2/hints/machten.sh Wed Jan 10 14:53:32 1996
|
|---|
| 1676 |
|
|---|
| 1677 | Index: installman
|
|---|
| 1678 |
|
|---|
| 1679 | Use File::Path::mkpath instead of our own makedir().
|
|---|
| 1680 | ./perl installman --man1dir=man1 could lead to infinte recursion
|
|---|
| 1681 | in old makedir() routine. Use the standard library instead.
|
|---|
| 1682 |
|
|---|
| 1683 | *** perl5.002b1h/installman Thu Dec 28 16:06:11 1995
|
|---|
| 1684 | --- perl5.002b2/installman Thu Jan 11 16:12:30 1996
|
|---|
| 1685 |
|
|---|
| 1686 | Index: installperl
|
|---|
| 1687 |
|
|---|
| 1688 | Use File::Path::mkpath instead of our own makedir().
|
|---|
| 1689 |
|
|---|
| 1690 | *** perl5.002b1h/installperl Wed Jan 3 14:33:57 1996
|
|---|
| 1691 | --- perl5.002b2/installperl Thu Jan 11 16:12:16 1996
|
|---|
| 1692 |
|
|---|
| 1693 | Index: interp.sym
|
|---|
| 1694 |
|
|---|
| 1695 | Updates from Tim's -m/-M/-V patch.
|
|---|
| 1696 |
|
|---|
| 1697 | *** perl5.002b1h/interp.sym Fri Nov 10 17:17:32 1995
|
|---|
| 1698 | --- perl5.002b2/interp.sym Fri Jan 12 15:05:04 1996
|
|---|
| 1699 |
|
|---|
| 1700 | Index: lib/AutoLoader.pm
|
|---|
| 1701 |
|
|---|
| 1702 | Undo Tim's tainting patch from beta1h.
|
|---|
| 1703 |
|
|---|
| 1704 | *** perl5.002b1h/lib/AutoLoader.pm Tue Jan 2 16:10:36 1996
|
|---|
| 1705 | --- perl5.002b2/lib/AutoLoader.pm Fri Jan 5 16:02:28 1996
|
|---|
| 1706 |
|
|---|
| 1707 | Index: lib/Carp.pm
|
|---|
| 1708 | *** perl5.002b1h/lib/Carp.pm Tue Jan 2 12:10:38 1996
|
|---|
| 1709 | --- perl5.002b2/lib/Carp.pm Fri Jan 12 11:23:31 1996
|
|---|
| 1710 |
|
|---|
| 1711 | Index: lib/ExtUtils/MM_VMS.pm
|
|---|
| 1712 |
|
|---|
| 1713 | Updated to MakeMaker-5.16.
|
|---|
| 1714 |
|
|---|
| 1715 | *** perl5.002b1h/lib/ExtUtils/MM_VMS.pm Tue Jan 2 14:07:10 1996
|
|---|
| 1716 | --- perl5.002b2/lib/ExtUtils/MM_VMS.pm Thu Jan 4 21:00:46 1996
|
|---|
| 1717 |
|
|---|
| 1718 | Index: lib/ExtUtils/MakeMaker.pm
|
|---|
| 1719 |
|
|---|
| 1720 | Updated to MakeMaker-5.16.
|
|---|
| 1721 |
|
|---|
| 1722 | Prereq: 1.129
|
|---|
| 1723 | *** perl5.002b1h/lib/ExtUtils/MakeMaker.pm Tue Jan 2 14:07:10 1996
|
|---|
| 1724 | --- perl5.002b2/lib/ExtUtils/MakeMaker.pm Wed Jan 10 16:13:05 1996
|
|---|
| 1725 |
|
|---|
| 1726 | Index: lib/File/Find.pm
|
|---|
| 1727 |
|
|---|
| 1728 | Fixed exporting of symbols to work.
|
|---|
| 1729 |
|
|---|
| 1730 | *** perl5.002b1h/lib/File/Find.pm Wed Nov 15 15:20:03 1995
|
|---|
| 1731 | --- perl5.002b2/lib/File/Find.pm Wed Jan 10 14:46:24 1996
|
|---|
| 1732 |
|
|---|
| 1733 | Index: lib/I18N/Collate.pm
|
|---|
| 1734 |
|
|---|
| 1735 | Updated documentation to match program.
|
|---|
| 1736 |
|
|---|
| 1737 | *** perl5.002b1h/lib/I18N/Collate.pm Fri Jun 2 11:30:49 1995
|
|---|
| 1738 | --- perl5.002b2/lib/I18N/Collate.pm Fri Jan 5 16:05:26 1996
|
|---|
| 1739 |
|
|---|
| 1740 | Index: lib/Term/ReadLine.pm
|
|---|
| 1741 |
|
|---|
| 1742 | Stub new file to interface to various readline packages, or
|
|---|
| 1743 | give stub functions if none are found.
|
|---|
| 1744 |
|
|---|
| 1745 | *** /dev/null Sat Jan 13 16:48:01 1996
|
|---|
| 1746 | --- perl5.002b2/lib/Term/ReadLine.pm Fri Jan 12 11:23:31 1996
|
|---|
| 1747 |
|
|---|
| 1748 | Index: lib/dumpvar.pl
|
|---|
| 1749 |
|
|---|
| 1750 | Ilya's new debugger.
|
|---|
| 1751 |
|
|---|
| 1752 | *** perl5.002b1h/lib/dumpvar.pl Tue Oct 18 12:36:00 1994
|
|---|
| 1753 | --- perl5.002b2/lib/dumpvar.pl Fri Jan 12 11:23:31 1996
|
|---|
| 1754 |
|
|---|
| 1755 | Index: lib/perl5db.pl
|
|---|
| 1756 |
|
|---|
| 1757 | Ilya's new debugger.
|
|---|
| 1758 |
|
|---|
| 1759 | *** perl5.002b1h/lib/perl5db.pl Tue Jan 2 16:30:33 1996
|
|---|
| 1760 | --- perl5.002b2/lib/perl5db.pl Fri Jan 12 11:23:31 1996
|
|---|
| 1761 |
|
|---|
| 1762 | Index: lib/sigtrap.pm
|
|---|
| 1763 |
|
|---|
| 1764 | Ilya's new debugger.
|
|---|
| 1765 |
|
|---|
| 1766 | *** perl5.002b1h/lib/sigtrap.pm Thu May 25 11:20:13 1995
|
|---|
| 1767 | --- perl5.002b2/lib/sigtrap.pm Fri Jan 12 11:23:31 1996
|
|---|
| 1768 |
|
|---|
| 1769 | Index: miniperlmain.c
|
|---|
| 1770 |
|
|---|
| 1771 | More robust i18nl14n() function from jhi.
|
|---|
| 1772 |
|
|---|
| 1773 | *** perl5.002b1h/miniperlmain.c Thu Jan 4 12:03:37 1996
|
|---|
| 1774 | --- perl5.002b2/miniperlmain.c Mon Jan 8 22:00:19 1996
|
|---|
| 1775 |
|
|---|
| 1776 | Index: myconfig
|
|---|
| 1777 |
|
|---|
| 1778 | Updates from Tim's -m/-M/-V patch.
|
|---|
| 1779 |
|
|---|
| 1780 | *** perl5.002b1h/myconfig Tue Apr 4 12:13:21 1995
|
|---|
| 1781 | --- perl5.002b2/myconfig Fri Jan 12 10:53:35 1996
|
|---|
| 1782 |
|
|---|
| 1783 | Index: op.c
|
|---|
| 1784 |
|
|---|
| 1785 | Chip's U8/STDCHAR patch.
|
|---|
| 1786 |
|
|---|
| 1787 | *** perl5.002b1h/op.c Wed Jan 3 14:17:01 1996
|
|---|
| 1788 | --- perl5.002b2/op.c Fri Jan 12 15:05:05 1996
|
|---|
| 1789 |
|
|---|
| 1790 | Index: perl.c
|
|---|
| 1791 |
|
|---|
| 1792 | Change Copyright date to include 1996. Hope you don't mind.
|
|---|
| 1793 |
|
|---|
| 1794 | Presumptively call this beta2.
|
|---|
| 1795 |
|
|---|
| 1796 | *** perl5.002b1h/perl.c Thu Jan 4 15:13:53 1996
|
|---|
| 1797 | --- perl5.002b2/perl.c Fri Jan 12 15:05:05 1996
|
|---|
| 1798 |
|
|---|
| 1799 | Index: perl.h
|
|---|
| 1800 |
|
|---|
| 1801 | Updates from Tim's -m/-M/-V patch.
|
|---|
| 1802 |
|
|---|
| 1803 | *** perl5.002b1h/perl.h Wed Jan 3 12:21:55 1996
|
|---|
| 1804 | --- perl5.002b2/perl.h Fri Jan 12 15:05:04 1996
|
|---|
| 1805 |
|
|---|
| 1806 | Index: pod/Makefile
|
|---|
| 1807 |
|
|---|
| 1808 | Use PERL=../miniperl
|
|---|
| 1809 |
|
|---|
| 1810 | *** perl5.002b1h/pod/Makefile Wed Jan 3 15:06:41 1996
|
|---|
| 1811 | --- perl5.002b2/pod/Makefile Fri Jan 5 14:14:30 1996
|
|---|
| 1812 |
|
|---|
| 1813 | Index: pod/perlembed.pod
|
|---|
| 1814 |
|
|---|
| 1815 | Give correct usage for the 5th arg to perl_parse (don't pass
|
|---|
| 1816 | env).
|
|---|
| 1817 |
|
|---|
| 1818 | *** perl5.002b1h/pod/perlembed.pod Thu Dec 28 16:34:07 1995
|
|---|
| 1819 | --- perl5.002b2/pod/perlembed.pod Tue Jan 9 16:02:51 1996
|
|---|
| 1820 |
|
|---|
| 1821 | Index: pod/perlfunc.pod
|
|---|
| 1822 |
|
|---|
| 1823 | Work around a pod2man complaint about the -X function.
|
|---|
| 1824 |
|
|---|
| 1825 | *** perl5.002b1h/pod/perlfunc.pod Tue Jan 2 15:39:26 1996
|
|---|
| 1826 | --- perl5.002b2/pod/perlfunc.pod Fri Jan 12 11:04:15 1996
|
|---|
| 1827 |
|
|---|
| 1828 | *** perl5.002b1h/pod/perlfunc.pod Tue Jan 2 15:39:26 1996
|
|---|
| 1829 | --- perl5.002b2/pod/perlfunc.pod Fri Jan 12 11:04:15 1996
|
|---|
| 1830 |
|
|---|
| 1831 | Index: pod/perlovl.pod
|
|---|
| 1832 |
|
|---|
| 1833 | Add DESCRIPTION to head1 line.
|
|---|
| 1834 |
|
|---|
| 1835 | *** perl5.002b1h/pod/perlovl.pod Thu Dec 28 16:34:13 1995
|
|---|
| 1836 | --- perl5.002b2/pod/perlovl.pod Thu Jan 11 17:11:16 1996
|
|---|
| 1837 |
|
|---|
|
|---|