Commit | Line | Data |
e4a57b87 |
1 | Please note: This file provides a summary of significant changes |
bde20468 |
2 | between versions and sub-versions of Perl, not necessarily a complete |
3 | list of each modification. If you'd like more detailed information, |
e4a57b87 |
4 | please consult the comments in the patches on which the relevant |
5 | release of Perl is based. (Patches can be found on any CPAN |
6 | site, in the .../src/5.0 directory for full version releases, |
7 | or in the .../src/5/0/unsupported directory for sub-version |
8 | releases.) |
9 | |
760ac839 |
10 | ---------------- |
bde20468 |
11 | Version 5.003_05 |
12 | ---------------- |
13 | |
14 | This patch was primarily to fix bugs and to clean up some of |
15 | the remaining issues from in 5.003_04. The details are described below. |
16 | A very brief summary is: |
17 | |
18 | o Visible Changes to Core Functionality |
19 | |
20 | -Add support for a READLINE method to tied filehandles. |
21 | |
22 | -times function now uses CLK_TCK if HZ is not available, rather |
23 | than just defaulting to 60. times output might change on some |
24 | systems, but should be correct now. |
25 | |
26 | -AnyDBM_File (modifying ISA does not work as expected) |
27 | Now behaves as documented: Modifying ISA works to select |
28 | order in which *DB* modules are tried. The default is still |
29 | the same. |
30 | |
31 | o Configure and build enhancements |
32 | |
33 | -Enhance detection of [gs]etpgrp() variants. Some systems have |
34 | BSD-style behavior for one and POSIX for the other. Use |
35 | [gs]etpgid() instead, whenever possible. |
36 | |
37 | -You can now build a shared libperl.so without running through |
38 | the LD_RUN_PATH hoops, if your system supports appropriate |
39 | ld command-line options. Solaris, NetBSD, and Linux are currently |
40 | supported. Others are easy to add. (This makes like a lot easier |
41 | for embedders.) |
42 | |
43 | -VMS updates. |
44 | |
45 | -Fix installperl and installman so that the -n option really only |
46 | prints commands. (previously, it would still do the mkdirs.) |
47 | |
48 | o Bug fixes |
49 | |
50 | -debugger ought to work. |
51 | |
52 | -A new heredoc tag in Makefile.SH is now quoted. This prevented |
53 | 5.003_04 from working most places. |
54 | |
55 | -numerous smaller ones, detailed below. |
56 | |
57 | o Specific Changes |
58 | |
59 | Here are the specific file-by-file changes. |
60 | |
61 | # This is my patch perl5.003_05.pat to perl5.003_04 |
62 | # The full description is below. |
63 | # Please execute the following commands before applying this patch. |
64 | # (You can feed this patch to 'sh' to do so.) |
65 | # Andy Dougherty <doughera@lafcol.lafayette.edu> |
66 | |
67 | # We'll create a new test, but patch won't automatically make it |
68 | # executable. |
69 | touch t/io/read.t |
70 | chmod +x t/io/read.t |
71 | |
72 | exit 0 |
73 | |
74 | |
75 | This is patch perl5.003_05.pat to perl version 5.003_04. |
76 | This takes you from 5.003_04 to 5.003_05. |
77 | |
78 | To apply this patch, run the above commands, |
79 | cd to your perl source directory and then type |
80 | |
81 | patch -p1 -N < perl5.003_05.pat |
82 | |
83 | The changes are described after each /^Index/ line below. This is |
84 | designed so you can examine each change with a command such as |
85 | |
86 | csplit -k perl5.003_05.pat '/^Index:/' '{99}' |
87 | |
88 | Patch and enjoy, |
89 | |
90 | Andy Dougherty doughera@lafcol.lafayette.edu |
91 | Dept. of Physics |
92 | Lafayette College, Easton PA 18042 |
93 | |
94 | Index: Changes |
95 | |
96 | Updated for 5.003_05. |
97 | |
98 | Index: Configure |
99 | |
100 | Allow command line or hint-file overrides of $afs. |
101 | |
102 | Allow trailing spaces in nm output for HPUX10. |
103 | |
104 | Check for newer BIND 'search' directives in /etc/resolv.conf as well |
105 | as older 'domain' directive. |
106 | |
107 | Enhance detection of [gs]etpgrp() variants. Some systems have |
108 | BSD-style behavior for one and POSIX for the other. Use |
109 | [gs]etpgid() instead, whenever possible. |
110 | |
111 | Include -s in the -h summary of available options. |
112 | |
113 | Allow command-line override of $afs. |
114 | |
115 | Handle trailing spaces in nm-output on HPUX10. |
116 | |
117 | Set shrpenv for handling LD_RUN_PATH, if needed. (This used to |
118 | be in Makefile.SH. Now it's available for other modules too.) |
119 | |
120 | When using shared libperl, avoid LD_RUN_PATH if possible by adding |
121 | correct ld flags. Currently, Solaris and NetBSD get the correct |
122 | -R $archlibexp/CORE, and Linux gets its |
123 | -Wl,-rpath,$archlibexp/CORE flag. Other contributions are |
124 | welcome. |
125 | |
126 | Index: INSTALL |
127 | |
128 | Correct libperl5 -> libperl typo. |
129 | |
130 | Describe MakeMaker's Warning (will try anyway) messages. |
131 | |
132 | More info on where and how to send reports. |
133 | |
134 | Add info on non-Unix ports. |
135 | |
136 | |
137 | Index: MANIFEST |
138 | |
139 | Add new test t/io/read.t. |
140 | |
141 | Add new hints files for ODBM_File for ultrix and hpux. |
142 | |
143 | Add new pod checker script. |
144 | |
145 | Index: Makefile.SH |
146 | |
147 | A new heredoc tag in Makefile.SH needs to be quoted. |
148 | |
149 | shrpenv stuff moved to Configure. |
150 | |
151 | Index: Porting/Glossary |
152 | |
153 | Updated to match Configure. |
154 | |
155 | Index: README.vms |
156 | |
157 | VMS 5.003_05 Update. |
158 | |
159 | Index: av.h |
160 | |
161 | Subject: turbidity in av.[ch] |
162 | Date: Sun, 10 Dec 1995 00:21:31 -0500 |
163 | From: Gurusamy Sarathy <gsar@engin.umich.edu> |
164 | |
165 | Some unclean code that I noticed today. |
166 | |
167 | Index: config_H |
168 | |
169 | Updated to match newest config_h.SH. |
170 | |
171 | Index: config_h.SH |
172 | |
173 | Updated to match Configure. |
174 | |
175 | Changed the DLSYM_NEEDS_UNDERSCORE comment to |
176 | /**/ to conform to metaconfig style. |
177 | |
178 | Index: emacs/cperl-mode.el |
179 | |
180 | From: Ilya Zakharevich <ilya@math.ohio-state.edu> |
181 | Subject: Newer CPerl-mode |
182 | |
183 | Index: ext/DB_File/DB_File.pm |
184 | |
185 | Update to DB_File 1.03. |
186 | |
187 | Index: ext/DB_File/DB_File.xs |
188 | |
189 | Update to DB_File 1.03. |
190 | |
191 | Index: ext/Fcntl/Fcntl.pm |
192 | |
193 | Date: Thu, 5 Sep 1996 18:19:14 -0400 (EDT) |
194 | From: Chip Salzenberg <salzench@nielsenmedia.com> |
195 | Subject: No AutoLoader for Fcntl |
196 | |
197 | Just like Socket, Fcntl doesn't need splitting and AutoLoading. |
198 | |
199 | Index: ext/FileHandle/FileHandle.pm |
200 | |
201 | From: Roderick Schertler <roderick@gate.net> |
202 | Subject: FileHandle::DESTROY for fd 0 |
203 | |
204 | This fixes FileHandle::DESTROY when called on stdin. |
205 | |
206 | Index: ext/ODBM_File/ODBM_File.xs |
207 | |
208 | Attempt to correct for "Bad free" in Ultrix and HPUX versions of |
209 | odbm. |
210 | |
211 | Index: ext/ODBM_File/hints/hpux.pl |
212 | |
213 | Try to work around "bad free" in dbmclose(). |
214 | |
215 | Index: ext/ODBM_File/hints/ultrix.pl |
216 | |
217 | Try to work around "bad free" in dbmclose(). |
218 | |
219 | Index: ext/Socket/Socket.pm |
220 | |
221 | Date: Thu, 5 Sep 1996 09:58:08 +0200 |
222 | From: Andreas Koenig <k@anna.in-berlin.de> |
223 | Subject: Patch to inhibit autosplit on Socket.pm |
224 | |
225 | This patch inhibits production and use of a completely useless |
226 | auto/Socket/autosplit.ix. |
227 | |
228 | Index: handy.h |
229 | |
230 | Make a little more C++-friendly for IBM's CSET++ compiler. |
231 | |
232 | Index: hints/convexos.sh |
233 | |
234 | Remove [gs]etpgrp workaround. Configure & perl.h should handle |
235 | this now. |
236 | |
237 | Index: hints/hpux.sh |
238 | |
239 | Add note about possible gcc GR3 warning message. |
240 | |
241 | Remove [gs]etpgrp workaround. Configure & perl.h should handle |
242 | this now. |
243 | |
244 | Index: hints/sco.sh |
245 | |
246 | Turn off optimization for stock cc. This appears to |
247 | prevent miniperl core dumps. |
248 | |
249 | Index: hints/solaris_2.sh |
250 | |
251 | Catch GNU ld even though it doesn't identify itself as a GNU tool. |
252 | Thanks to Tim Pierce <twpierce@midway.uchicago.edu>. |
253 | |
254 | Index: hints/sunos_4_1.sh |
255 | |
256 | Describe solution for the __lib_version problem with acc on |
257 | SunOS. |
258 | |
259 | Index: hv.c |
260 | |
261 | Date: Thu, 05 Sep 1996 00:25:28 -0400 |
262 | From: Gurusamy Sarathy <gsar@engin.umich.edu> |
263 | Subject: minor misc. cleanup |
264 | |
265 | This patch makes some minor cleanups to the sources. No change |
266 | in functionality whatsoever. |
267 | |
268 | Date: Thu, 05 Sep 1996 02:52:21 -0400 |
269 | From: Gurusamy Sarathy <gsar@engin.umich.edu> |
270 | |
271 | Subject: debugger problems--another patch (was Re: 5.003_04) |
272 | |
273 | I have tried to avoid copying of hash keys that are passed to |
274 | magical hashes, but it seems that copying may be unavoidable |
275 | since the hv_*_ent() functions could be PADTMPs (and other |
276 | SVs that may get reused) as keys. |
277 | |
278 | VMS dynamic %ENV fix |
279 | |
280 | Index: installman |
281 | |
282 | From: scotth@sgi.com |
283 | Subject: Re: installperl feature request (was: Re: Upgrade 4.0x to 5.001m) |
284 | |
285 | Fix installperl so that the -n option really only prints commands. |
286 | (previously, it would still do the mkdirs.) |
287 | |
288 | an "ignore installed" option, so that it doesn't bother to check |
289 | to see if the target already exists (an optimization that I |
290 | *don't* want it to do when I do #1 above) |
291 | |
292 | Index: installperl |
293 | |
294 | From: scotth@sgi.com |
295 | Subject: Re: installperl feature request (was: Re: Upgrade 4.0x to 5.001m) |
296 | |
297 | Fix installperl so that the -n option really only prints commands. |
298 | (previously, it would still do the mkdirs.) |
299 | |
300 | an "ignore installed" option, so that it doesn't bother to check |
301 | to see if the target already exists (an optimization that I |
302 | *don't* want it to do when I do #1 above) |
303 | |
304 | Index: lib/AnyDBM_File.pm |
305 | |
306 | AnyDBM_File (modifying ISA does not work as expected) |
307 | Now behaves as documented: Modifying ISA works to select |
308 | order in which *DB* modules are tried. The default is still |
309 | the same. |
310 | |
311 | |
312 | Add helpful "die" message to end of AnyDBM_File. Previously |
313 | it would return a 0, and the failure would eventually show up |
314 | somewhere else in the script and be hard to track down. It is |
315 | a failure if perl can't open AnyDBM_File. The test regression |
316 | suite is supposed to indicate this as a failure too. |
317 | |
318 | Index: lib/ExtUtils/Install.pm |
319 | |
320 | Updated to MakeMaker-5.38. |
321 | |
322 | Fix for VMS utime. |
323 | |
324 | Index: lib/ExtUtils/Liblist.pm |
325 | |
326 | Updated to MakeMaker-5.38. |
327 | |
328 | Index: lib/ExtUtils/MM_Unix.pm |
329 | Updated to MakeMaker-5.38. |
330 | |
331 | Index: lib/ExtUtils/MakeMaker.pm |
332 | |
333 | Updated to MakeMaker-5.38. |
334 | |
335 | Updated to MakeMaker-5.39 to allow CFLAGS in hint files. |
336 | |
337 | Index: lib/ExtUtils/Manifest.pm |
338 | |
339 | Updated to MakeMaker-5.38. |
340 | |
341 | Index: lib/ExtUtils/Mkbootstrap.pm |
342 | |
343 | Updated to MakeMaker-5.38. |
344 | |
345 | Index: lib/ExtUtils/Mksymlists.pm |
346 | |
347 | Updated to MakeMaker-5.38. |
348 | |
349 | Index: lib/File/Find.pm |
350 | |
351 | From: Michael Mahan <mahanm@nextwork.rose-hulman.edu> |
352 | Subject: Cwd::fastcwd in File::Find |
353 | |
354 | Is there a good reason why File::Find uses Cwd::fastcwd instead of |
355 | Cwd:cwd when fastcwd isn't as portable? |
356 | [In particular, fastcwd() doesn't work on AFS.] |
357 | |
358 | Index: lib/Math/Complex.pm |
359 | |
360 | There was a mistake in the sqrt routine in lib/Math/Complex.pm that |
361 | gave wrong answers when the magnitude of the imaginary part of the |
362 | argument exceeded the magnitude of the real part. Line 69 had too |
363 | many sqrt($y)'s. Further, expressions were re-arranged so that |
364 | calls to the expensive real sqrt() routine were reduced from 4 to 2 |
365 | in this case. |
366 | |
367 | Index: lib/open3.pl |
368 | |
369 | The I/O directions on the dad_wtr and kid_rdr were backwards. |
370 | IO/Open3.pm didn't have this error. |
371 | |
372 | Index: lib/syslog.pl |
373 | |
374 | Date: Tue, 03 Sep 1996 20:33:54 -0400 |
375 | From: Roderick Schertler <roderick@gate.net> |
376 | Subject: syslog.pl `use Socket' lossage |
377 | |
378 | syslog.pl tries but fails to use |
379 | Socket.pm, the problem is that use doesn't return a true value. This |
380 | module should be recast in terms of Sys::Syslog, of course. |
381 | |
382 | Index: makedepend.SH |
383 | |
384 | This patch eliminates "\|" in sed patterns in makedepend.SH, since |
385 | they're not really needed anyway in this one case. |
386 | |
387 | Index: mg.c |
388 | |
389 | Ok, here's a tested patch for the debugger problem. |
390 | I was missing the fact that DB::dbline magic is actually |
391 | uppercase (which means hv_store_ent() etc., will pass SV keys |
392 | to the vtbl_dbline handlers). |
393 | |
394 | Replace the oft-repeated mg_ptr incantation with |
395 | the simple MgPVKEY macro. |
396 | |
397 | Rename MgPVKEY to MgPV (to match with HePV elsewhere). Add |
398 | additional parens around the "mg". |
399 | |
400 | (lines near 584) Part of VMS changes. I don't know what this did. |
401 | |
402 | Date: Fri, 23 Aug 1996 17:20:22 -0400 (EDT) |
403 | From: Chip Salzenberg <salzench@nielsenmedia.com> |
404 | Subject: Integerize mg.c; eliminate warning on C< local($)) > |
405 | |
406 | This patch converts magic variables ($!, $^E, etc.) to use integers |
407 | (C<sv_setiv>) instead of floats. It also eliminates a warning from |
408 | C< local($)) >, via a hack similar to $!. |
409 | |
410 | Index: mg.h |
411 | |
412 | Replace the oft-repeated mg_ptr incantation with |
413 | the simple MgPVKEY macro. |
414 | |
415 | Rename MgPVKEY to MgPV (to match with HePV elsewhere). Add |
416 | additional parens around the "mg". |
417 | |
418 | Index: nostdio.h |
419 | |
420 | Add _STDIO_LOADED (VMS) to list of guard symbols. |
421 | |
422 | Index: op.c |
423 | |
424 | From: Gurusamy Sarathy <gsar@engin.umich.edu> |
425 | Subject: Re: \ ( @array ) busted for lexical @array (once more) |
426 | |
427 | Index: patchlevel.h |
428 | |
429 | Change to subversion 5. |
430 | |
431 | Index: perl.c |
432 | |
433 | Make floating point constants Locale-friendly. |
434 | |
435 | Index: perl.h |
436 | |
437 | One last LONG & co. fix (yet another cut'n'paste error) and a few |
438 | minor cleanups. Nothing crucial. |
439 | |
440 | Make a little more C++-friendly for IBM's CSET++ compiler. |
441 | |
442 | Enhance detection of [gs]etpgrp() variants. Some systems have |
443 | BSD-style behavior for one and POSIX for the other. Use |
444 | [gs]etpgid() instead, whenever possible. |
445 | |
446 | Index: perlio.c |
447 | |
448 | Eliminate potential "signed vs. unsigned" warning |
449 | |
450 | Add PerlIO_reopen and PerlIO_cgetname functions. |
451 | |
452 | Index: perlsdio.h |
453 | |
454 | Don't supply redundant parameters for PerlIO_open and PerlIO_fdopen. |
455 | |
456 | Include PerlIO_reopen and PerlIO_getname. |
457 | |
458 | s/FILE_(CNT|PTR)_LVALUE/STDIO_(CNT|PTR)_LVALUE to fix a typo. |
459 | This had prevented SV_FAST_FGETS from working anywhere. |
460 | |
461 | Include PerlIO_canset_cnt. I'm not sure how this is supposed to |
462 | differ from STDIO_CNT_LVALUE. |
463 | |
464 | Index: pod/Makefile |
465 | |
466 | Remove trailing spaces in pods. |
467 | Include a call to the checkpods script in the Makefile (though it's |
468 | not ordinarily used by users). |
469 | |
470 | Index: pod/checkpods.PL |
471 | |
472 | New script to check for common errors in pods. This is not |
473 | normally called during the perl build process, but you can |
474 | use it with B<make check>. |
475 | |
476 | Index: pod/perlfunc.pod |
477 | |
478 | Document correct C<use POSIX ":wait_h";> usage. |
479 | |
480 | Add notes about POSIX [gs]etpgrp. |
481 | |
482 | Index: pod/perlipc.pod |
483 | |
484 | Document correct C<use POSIX ":wait_h";> usage. |
485 | |
486 | Index: pod/perlref.pod |
487 | |
488 | From: Gurusamy Sarathy <gsar@engin.umich.edu> |
489 | Subject: Re: \ ( @array ) busted for lexical @array (once more) |
490 | |
491 | Index: pod/perltie.pod |
492 | |
493 | Date: Thu, 29 Aug 1996 15:14:51 +0200 |
494 | From: Sven Verdoolaege <skimo@breughel.ufsia.ac.be> |
495 | Subject: more TIEHANDLE |
496 | |
497 | This adds support for a READLINE method. |
498 | |
499 | Index: pod/perltrap.pod |
500 | |
501 | Here's documentation on the change in split's behavior between Perl 4 |
502 | and Perl 5. |
503 | |
504 | Subject: More (and less!) 425traps |
505 | |
506 | Large integer traps |
507 | |
508 | Precedence |
509 | |
510 | warn STDERR |
511 | |
512 | Change blank lines to empty lines. |
513 | |
514 | Index: pod/perlvar.pod |
515 | |
516 | Be explicit about $/="" matching empty lines, that is, lines |
517 | with no spaces or tabs. |
518 | |
519 | Change blank lines to empty lines. |
520 | |
521 | Index: pp.c |
522 | |
523 | Date: Fri, 23 Aug 1996 17:22:40 -0400 (EDT) |
524 | From: Chip Salzenberg <salzench@nielsenmedia.com> |
525 | Subject: Minor integer speedups in mathematics |
526 | |
527 | This patch provides minor speedups by using integer math and SVt_IV |
528 | values when performing bitwise operations and modulus. |
529 | |
530 | Date: Tue, 3 Sep 1996 17:49:22 -0400 (EDT) |
531 | From: Kenneth Albanowski <kjahds@kjahds.com> |
532 | Subject: Pack Patch (was Re: 5.002 - pack/unpack does not do "I" right) |
533 | |
534 | (double)auint cast added for call to sv_setnv(). |
535 | |
536 | Index: pp_hot.c |
537 | |
538 | Date: Thu, 05 Sep 1996 00:25:28 -0400 |
539 | From: Gurusamy Sarathy <gsar@engin.umich.edu> |
540 | Subject: minor misc. cleanup |
541 | |
542 | This patch makes some minor cleanups to the sources. No change |
543 | in functionality whatsoever. |
544 | |
545 | Date: Thu, 29 Aug 1996 15:14:51 +0200 |
546 | From: Sven Verdoolaege <skimo@breughel.ufsia.ac.be> |
547 | Subject: more TIEHANDLE |
548 | |
549 | This adds support for a READLINE method. |
550 | |
551 | Index: pp_sys.c |
552 | |
553 | Clear any buffer space exposed by by read(). |
554 | This is almost certainly a bug-fix. |
555 | |
556 | Undef and then re-define my_chsize from Perl_my_chsize to |
557 | just plain chsize if this system HAS_CHSIZE. This probably only |
558 | applies to SCO. This shows the perils of having internal |
559 | functions with the same name as external library functions :-). |
560 | |
561 | Use CLK_TCK if HZ is not available. |
562 | |
563 | Index: sv.c |
564 | |
565 | Fix more spots where we had PerlIO_stderr() and should have had |
566 | Perl_debug_log instead. |
567 | |
568 | Date: Fri, 23 Aug 1996 17:26:42 -0400 (EDT) |
569 | From: Chip Salzenberg <salzench@nielsenmedia.com> |
570 | Subject: Minor potential bug in AV creation |
571 | |
572 | I wasn't the one who originated this patch. But it looks like it |
573 | would improve the safety of AV creation. |
574 | |
575 | Remove potentially incorrect casts on PerlIO_set_ptrcnt. |
576 | 'ptr' is already STDCHAR, which is supposed to be the type of |
577 | char used in stdio.h, so we shouldn't have to cast it. |
578 | |
579 | Index: t/io/read.t |
580 | |
581 | Clear any buffer space exposed by by read(). |
582 | This is almost certainly a bug-fix. |
583 | |
584 | Index: t/lib/db-btree.t |
585 | |
586 | Update to DB_File 1.03. |
587 | |
588 | Index: t/lib/db-hash.t |
589 | |
590 | Update to DB_File 1.03. |
591 | |
592 | Index: t/lib/db-recno.t |
593 | |
594 | Update to DB_File 1.03. |
595 | |
596 | Index: t/lib/io_sock.t |
597 | |
598 | From: Lupe Christoph <lupe@alanya.m.isar.de> |
599 | Subject: Perl 5.003.03: race condition in t/lib/io_sock.t |
600 | |
601 | io_sock.t works by forking a subprocess it can communicate with. |
602 | It has the subprocess wait for the main process by sleeping 10 |
603 | seconds or until an alarm arrives. |
604 | |
605 | With my setup, the alarm signal arrives *before* the child |
606 | has a chance to ignore the alarm signal. |
607 | |
608 | I fixed this by moving the "$SIG{ALRM} = sub {};" up before the |
609 | fork. It does not hurt to have the parent ignore alarms, too. |
610 | |
611 | Index: t/op/inc.t |
612 | |
613 | One last LONG & co. fix (yet another cut'n'paste error) and a few |
614 | minor cleanups. Nothing crucial. |
615 | |
616 | Index: t/op/misc.t |
617 | |
618 | Date: Thu, 29 Aug 1996 15:14:51 +0200 |
619 | From: Sven Verdoolaege <skimo@breughel.ufsia.ac.be> |
620 | Subject: more TIEHANDLE |
621 | |
622 | This adds support for a READLINE method. |
623 | |
624 | Index: t/op/pack.t |
625 | |
626 | Date: Tue, 3 Sep 1996 17:49:22 -0400 (EDT) |
627 | From: Kenneth Albanowski <kjahds@kjahds.com> |
628 | Subject: Pack Patch (was Re: 5.002 - pack/unpack does not do "I" right) |
629 | |
630 | Index: t/op/ref.t |
631 | |
632 | From: Gurusamy Sarathy <gsar@engin.umich.edu> |
633 | Subject: Re: \ ( @array ) busted for lexical @array (once more) |
634 | |
635 | Index: universal.c |
636 | |
637 | Date: Thu, 29 Aug 96 07:05:10 BST |
638 | From: Graham Barr <bodg@tiuk.ti.com> |
639 | Subject: Re: UNIVERSAL::class busted |
640 | |
641 | yes, but I also noticed that this does not check that the reference |
642 | is an object, so the patch should be |
643 | |
644 | Index: unixish.h |
645 | |
646 | Change comment style so that IBM's picky xlc compiler doesn't |
647 | think we've mistakenly tried to nest comments. |
648 | |
649 | Index: util.c |
650 | |
651 | One last LONG & co. fix (yet another cut'n'paste error) and a few |
652 | minor cleanups. Nothing crucial. |
653 | |
654 | Index: utils/h2xs.PL |
655 | |
656 | Date: Fri, 6 Sep 1996 06:09:20 -0400 (EDT) |
657 | From: Ilya Zakharevich <ilya@math.ohio-state.edu> |
658 | Subject: updated h2xs |
659 | |
660 | Changes: |
661 | a) Docs and examples for -x updated; |
662 | b) Path to xxxx.h would not be changed to /usr/include/xxxx.h |
663 | unless this file exists (outside of VMS, I'm afraid to make an error |
664 | there). - Useful with -x option, when the file may be eaten via -I |
665 | inside -F. |
666 | c) .h file would be scanned only if needed. |
667 | d) typemap would be generated (with T_PTROBJ). |
668 | e) Documentation (=list) for autogenerated guys would be |
669 | included into POD. |
670 | f) duplicated XSUBs would not be generated; |
671 | g) arguments to XSUBs being arrays are recognized (note that |
672 | xsubpp would probably choke on such guys). |
673 | |
674 | -x option requires C-Scan-0.3 (releases a couple of minutes ago to |
675 | ftp://ftp.math.ohio-state.edu/pub/users/ilya/perl |
676 | should propagate to CPAN soon). |
677 | |
678 | Index: utils/perlbug.PL |
679 | |
680 | Fix typo $Config{'has_sockets'} ought to be $Config{'d_socket'}; |
681 | |
682 | Index: utils/perldoc.PL |
683 | |
684 | More choices in the pager war. Unfortunately, we can't rely on |
685 | all users agreeing with the Sysadmin's choice, nor can we |
686 | assign a default preference order, since opinions vary. If the |
687 | user doesn't have $ENV{PAGER} set, we do want to pick up one that |
688 | at least works, so we'll try whatever Configure found. |
689 | |
690 | Index: vms/Makefile |
691 | |
692 | VMS 5.003_05 Update. |
693 | |
694 | Index: vms/config.vms |
695 | |
696 | VMS 5.003_05 Update. |
697 | |
698 | Index: vms/descrip.mms |
699 | |
700 | VMS 5.003_05 Update. |
701 | |
702 | Index: vms/ext/Stdio/Stdio.pm |
703 | |
704 | VMS 5.003_05 Update. |
705 | |
706 | Index: vms/ext/filespec.t |
707 | |
708 | VMS 5.003_05 Update. |
709 | |
710 | Index: vms/gen_shrfls.pl |
711 | |
712 | VMS 5.003_05 Update. |
713 | |
714 | Index: vms/perlvms.pod |
715 | |
716 | VMS 5.003_05 Update. |
717 | |
718 | Index: vms/vms.c |
719 | |
720 | VMS 5.003_05 Update. |
721 | |
722 | Index: vms/vmsish.h |
723 | |
724 | VMS 5.003_05 Update. |
725 | |
726 | ---------------- |
395b538b |
727 | Version 5.003_04 |
728 | ---------------- |
729 | |
730 | This patch was primarily to fix bugs and to clean up some of |
731 | the changes made in 5.003_03. The details are described below. |
732 | A very brief summary is: |
733 | |
734 | o Visible Changes to Core Functionality |
735 | |
736 | -Allow and document permissions for FileHandle::new and |
737 | IO::File::new. |
738 | -glob in Safe compartment used to allow shell access; now |
739 | it's in the same category as `` and system(). |
740 | |
741 | o Configure and build enhancements |
742 | |
743 | -perl library name is again -lperl, not -lperl5 in some cases. |
744 | -Several hint files no longer set -g -DDEBUGGING by default. |
745 | Instead, they just turn off optimization, since that is |
746 | probably what was intended. |
747 | -Include OS/2 and Plan9 updates. |
748 | |
749 | o Bug fixes |
750 | |
751 | -SEGV with $_[0] and circular references fixed. |
752 | -Ilya's debugger patch. |
753 | -FAKE typeglobs fixed. |
754 | -truncate with file name now works. |
755 | -lval substr() no longer coredumps with refs |
756 | -lval substr now clears lexicals in re-entered scopes. |
757 | -core dump in caller() for signal handler for __DIE__. |
758 | |
759 | o Specific Changes |
760 | |
761 | Here are the specific file-by-file changes. |
762 | |
763 | # This is my patch perl5.003_04.pat to perl5.003_03 |
764 | # The full description is below. |
765 | # Please execute the following commands before applying this patch. |
766 | # (You can feed this patch to 'sh' to do so.) |
767 | # Andy Dougherty <doughera@lafcol.lafayette.edu> |
768 | |
769 | # Obsolete perl4 hint file. |
770 | rm -f hints/dnix.sh |
771 | # Obsolete |
772 | rm -f os2/notes |
773 | |
774 | # We'll create a new test, but patch won't automatically make it |
775 | # executable. |
776 | touch t/op/gv.t |
777 | chmod +x t/op/gv.t |
778 | |
779 | exit 0 |
780 | |
781 | |
782 | This is patch perl5.003_04.pat to perl version 5.003_03. |
783 | This takes you from 5.003_03 to 5.003_04. |
784 | |
785 | To apply this patch, run the above commands, |
786 | cd to your perl source directory and then type |
787 | |
788 | patch -p1 -N < perl5.003_04.pat |
789 | |
790 | The changes are described after each /^Index/ line below. This is |
791 | designed so you can examine each change with a command such as |
792 | |
793 | csplit -k perl5.003_04.pat '/^Index:/' '{99}' |
794 | |
795 | Patch and enjoy, |
796 | |
797 | Andy Dougherty doughera@lafcol.lafayette.edu |
798 | Dept. of Physics |
799 | Lafayette College, Easton PA 18042 |
800 | |
801 | |
802 | Index: Changes |
803 | |
804 | Updated for 5.003_04. |
805 | |
806 | Index: Configure |
807 | |
808 | Change name of shared libperl library back to libperl.so.xxx, |
809 | so that a simple -lperl picks up either libperl.a or |
810 | libperl.so.xxx. |
811 | |
812 | Check if $sh='' in case we've reloaded an old config.sh |
813 | |
814 | Index: INSTALL |
815 | |
816 | Change name of shared perl library to libperl, instead of |
817 | libperl5. |
818 | |
819 | Add notes about fragility of shared libperl and the usefulness |
820 | of archlib to separate different binaries. |
821 | |
822 | Index: MANIFEST |
823 | |
824 | os2/notes removed |
825 | |
826 | obsolete hints/dnix.sh removed. |
827 | |
828 | New typeglob test. |
829 | |
830 | Index: Makefile.SH |
831 | |
832 | For building shared libperl, relocate whole rule to |
833 | inside the if test -f $osname/Makefile.SHs case. |
834 | |
835 | Index: Porting/Glossary |
836 | |
837 | Updated. |
838 | |
839 | Index: README.os2 |
840 | |
841 | Updated. |
842 | |
843 | Index: av.c |
844 | |
845 | Subject: Re: SEGV with $_[0] and circular references |
846 | |
847 | Subject: random cleanup |
848 | |
849 | This patch removes a few obvious redundancies in the source. |
850 | |
851 | Index: config_H |
852 | |
853 | Updated. Note new comments to make AIX happy. |
854 | |
855 | Index: config_h.SH |
856 | |
857 | Change /*#define../**/ into /*#define../ **/ |
858 | to make IBM's xlc compiler shut up about nested comments. |
859 | The /*#define FOO /**/ is a perfectly legal un-nested comment, and |
860 | I wish IBM would fix it's blasted compiler instead. In the meantime |
861 | we'll take mercy on the poor AIX user and get rid of the screenfulls |
862 | of stupid warning messages. Thanks to Hallvard B Furuseth |
863 | <h.b.furuseth@usit.uio.no> for the fix. |
864 | |
865 | Index: dump.c |
866 | |
867 | This patch changes neither behavior nor performance. However, it does |
868 | reduce code size and improve maintainability by combining some common |
869 | code in gv_fullname() and gv_efullname(). |
870 | |
871 | Index: ext/FileHandle/FileHandle.pm |
872 | |
873 | This patch documents the behavior of FileHandle::{new,open} with |
874 | regard to open modes. It also documents the exportation of Fcntl |
875 | constants. |
876 | |
877 | This patch fixes a bug observed by Tom Christiansen: FileHandle::new |
878 | didn't allow for file permissions after the file mode. Here's a patch. |
879 | |
880 | Index: ext/IO/lib/IO/File.pm |
881 | |
882 | This patch fixes a bug observed by Tom Christiansen: IO::File::new |
883 | didn't allow for file permissions after the file mode. Here's a patch. |
884 | |
885 | This patch documents the behavior of IO::File::{new,open} with |
886 | regard to open modes. It also documents the exportation of Fcntl |
887 | constants. |
888 | |
889 | Index: ext/Opcode/Opcode.pm |
890 | |
891 | Subject: Re: glob in Safe compartment allows shell access |
892 | |
893 | I've moved the glob op into the same opcode tag as backticks and system |
894 | and added a comment. |
895 | |
896 | Index: gv.c |
897 | |
898 | This patch changes neither behavior nor performance. However, it does |
899 | reduce code size and improve maintainability by combining some common |
900 | code in gv_fullname() and gv_efullname(). |
901 | |
902 | Index: handy.h |
903 | |
904 | Subject: Patch for LONG_MAX & co. |
905 | |
906 | Sorry about adding yet another #ifdef forest, but hopefully this |
907 | should resolve the *_MAX issues permanently. It adds to the |
908 | previously defined PERL_LONG_MAX, PERL_LONG_MIN, and PERL_ULONG_MAX |
909 | symbols the complete set of |
910 | /PERL_U?(CHAR|SHORT|INT|LONG)_(MAX|MIN)/, and installs aliases to |
911 | those from /(I|U)(8|16|32|V)_(MAX|MIN)/ so that for any standard |
912 | Perl typedef, like I32 or UV, you can reference I32_MAX or UV_MIN, |
913 | and get appropriate figures. All references to LONG_(MIN|MAX) are |
914 | changed appropriately. |
915 | |
916 | The .c changes have the side effect of making cast_uv properly use quad |
917 | limits if quads are in use, but longs aren't 64 bit. Hopefully this all |
918 | works, but I don't have any handy Crays to try it out on. |
919 | |
920 | Add notes on perl's internal types, specifically Quad_t and IV. |
921 | |
922 | Index: hints/hpux.sh |
923 | |
924 | Remove the d_bsdpgrp hint. The defaults should be ok. |
925 | |
926 | Index: hints/irix_6_2.sh |
927 | |
928 | Change optimize=-g to optimize=none to avoid pulling in -DDEBUGGING, |
929 | unless that's what the user really wants. |
930 | |
931 | Index: hints/mpeix.sh |
932 | |
933 | Change optimize=-g to optimize=none to avoid pulling in -DDEBUGGING, |
934 | unless that's what the user really wants. |
935 | |
936 | Index: hints/os2.sh |
937 | |
938 | Fixes for sh vs. bin_sh + cleanup. |
939 | |
940 | Index: hints/ultrix_4.sh |
941 | |
942 | Don't call optimize=-g, just call optimize=none. The -g |
943 | pulls in -DDEBUGGING, which might not be wanted. |
944 | |
945 | Index: lib/ExtUtils/MM_Unix.pm |
946 | |
947 | .C$(obj_ext) removed under OS/2 - conflicts with .c$(obj_ext). |
948 | |
949 | Index: lib/ExtUtils/xsubpp |
950 | |
951 | Fix SCOPE? (See pod/perlxs.pod). |
952 | Up version number to 1.938. |
953 | |
954 | Index: lib/Test/Harness.pm |
955 | |
956 | Add a return value to runtests - non-zero if all tests ran ok, |
957 | zero otherwise. |
958 | |
959 | Index: lib/perl5db.pl |
960 | |
961 | Ilya's debugger patch. |
962 | Undefined subroutine &Carp::longmess called at |
963 | /opt/perl5.003_03/lib/perl5db.pl line 1423. |
964 | |
965 | |
966 | Make perl5db compatible with the recent 'strict refs' enforcement |
967 | in %SIG. |
968 | |
969 | Index: malloc.c |
970 | |
971 | A patch to perl5.003_02/malloc to give a sensible error abort() message |
972 | in ANSI C, and to give it to stderr instead of stdout. |
973 | |
974 | Use config_h's STRINGIFY macro instead of pre-ANSI "p". |
975 | |
976 | Index: mg.c |
977 | |
978 | Subject: FAKE typeglobs seriously busted (with patch) |
979 | |
980 | Handling of fake typeglobs (scalars that are really globs |
981 | in disguise) is seriously busted since 5.002 (it wasn't |
982 | so in 5.001n). |
983 | The problem is that mg_get() on a glob calls gv_efullname() |
984 | which might coerce its first arg to a string. |
985 | |
986 | Sub-critical patch to conceivably fix some %SIG problems. (Shared hash key |
987 | weren't being properly detected by some of the sig magic, but as shared |
988 | hash keys wouldn't normally be used in %SIG it's unlikely this is a |
989 | significant problem.) |
990 | |
991 | This patch changes neither behavior nor performance. However, it does |
992 | reduce code size and improve maintainability by combining some common |
993 | code in gv_fullname() and gv_efullname(). |
994 | |
995 | Index: myconfig |
996 | |
997 | Update perlio-related variables. |
998 | |
999 | Index: op.c |
1000 | |
1001 | This patch changes neither behavior nor performance. However, it does |
1002 | reduce code size and improve maintainability by combining some common |
1003 | code in gv_fullname() and gv_efullname(). |
1004 | |
1005 | Index: opcode.h |
1006 | |
1007 | Updated. See opcode.pl. |
1008 | |
1009 | Index: opcode.pl |
1010 | |
1011 | Subject: Re: truncate with file name does not work (with patch) |
1012 | |
1013 | The prototype for truncate was changed so that perl won't die |
1014 | with C<use strict;> when the first arg is a bareword (filehandle). |
1015 | I think it was Tom (as in "tchrist") who brought this up. |
1016 | |
1017 | Here's a patch that undoes the damage, makes it work with |
1018 | C<use strict;>, and adds to the testsuite. |
1019 | |
1020 | Index: os2/Makefile.SHs |
1021 | |
1022 | perllib vs. LIBPERL |
1023 | |
1024 | Index: os2/diff.configure |
1025 | |
1026 | Updated. |
1027 | |
1028 | Index: os2/os2.c |
1029 | |
1030 | SH_PATH_INI vs. BIN_SH |
1031 | |
1032 | Index: os2/os2ish.h |
1033 | |
1034 | SH_PATH_INI added (needed to redefine SH_PATH for binary |
1035 | distribution). |
1036 | SH_PATH is redefined. |
1037 | |
1038 | Index: patchlevel.h |
1039 | |
1040 | SUBVERSION 4. |
1041 | |
1042 | Index: perl.h |
1043 | |
1044 | Subject: Patch for LONG_MAX & co. |
1045 | |
1046 | Sorry about adding yet another #ifdef forest, but hopefully this |
1047 | should resolve the *_MAX issues permanently. It adds to the |
1048 | previously defined PERL_LONG_MAX, PERL_LONG_MIN, and PERL_ULONG_MAX |
1049 | symbols the complete set of |
1050 | /PERL_U?(CHAR|SHORT|INT|LONG)_(MAX|MIN)/, and installs aliases to |
1051 | those from /(I|U)(8|16|32|V)_(MAX|MIN)/ so that for any standard |
1052 | Perl typedef, like I32 or UV, you can reference I32_MAX or UV_MIN, |
1053 | and get appropriate figures. All references to LONG_(MIN|MAX) are |
1054 | changed appropriately. |
1055 | |
1056 | The .c changes have the side effect of making cast_uv properly use quad |
1057 | limits if quads are in use, but longs aren't 64 bit. Hopefully this all |
1058 | works, but I don't have any handy Crays to try it out on. |
1059 | |
1060 | Add notes on perl's internal types, specifically Quad_t and IV. |
1061 | |
1062 | Index: perlio.c |
1063 | |
1064 | Removes an incorrect prototype for setlinebuf from |
1065 | perlio.c because it conflicts with the correct declaration in |
1066 | MachTen's stdio.h (and possibly other stdio's as well). |
1067 | |
1068 | Secondly, the code in perlio.c is not handling the (!PERLIO_IS_STDIO & |
1069 | HAS_F[GS]ETPOS) case. The patch fixes this omission (in a rather lumpen |
1070 | manner). I don't think this should affect platforms which try to hack a |
1071 | different path through the #ifdef forest, but this assertion would benefit |
1072 | from testing... |
1073 | |
1074 | Dominic Dunlop |
1075 | |
1076 | Index: plan9/config.plan9 |
1077 | |
1078 | Updated. |
1079 | |
1080 | Index: plan9/fndvers |
1081 | |
1082 | Updated. |
1083 | |
1084 | Index: plan9/mkfile |
1085 | |
1086 | Updated. |
1087 | |
1088 | Index: plan9/setup.rc |
1089 | |
1090 | Updated. |
1091 | |
1092 | Index: pod/perldiag.pod |
1093 | |
1094 | Subject: lval substr() coredumps with refs (with patch) |
1095 | |
1096 | substr() coredumps with a target that is a ref, when it is used in |
1097 | an lvalue context. |
1098 | The patch below corrects the problem by stringifying the reference |
1099 | first (and emitting a warning when appropriate). |
1100 | |
1101 | Index: pod/perlxs.pod |
1102 | |
1103 | document xsubpp SCOPE: |
1104 | |
1105 | Index: pp.c |
1106 | |
1107 | Subject: lval substr() fails to clear lexicals in re-entered scopes (with patch) |
1108 | |
1109 | substr() in lvalue context interacts in buggy fashion with SVs that |
1110 | are !SvOK. This manifests itself with lexicals that have a REFCNT of |
1111 | 1, since these are merely "cleared in place" by setting SvOK_off. |
1112 | |
1113 | Subject: lval substr() coredumps with refs (with patch) |
1114 | |
1115 | substr() coredumps with a target that is a ref, when it is used in |
1116 | an lvalue context. |
1117 | The patch below corrects the problem by stringifying the reference |
1118 | first (and emitting a warning when appropriate). |
1119 | |
1120 | Subject: Patch for LONG_MAX & co. |
1121 | |
1122 | Index: pp_ctl.c |
1123 | |
1124 | This patch changes neither behavior nor performance. However, it does |
1125 | reduce code size and improve maintainability by combining some common |
1126 | code in gv_fullname() and gv_efullname(). |
1127 | |
1128 | Index: pp_hot.c |
1129 | |
1130 | Subject: Patch for LONG_MAX & co. |
1131 | |
1132 | This patch changes neither behavior nor performance. However, it does |
1133 | reduce code size and improve maintainability by combining some common |
1134 | code in gv_fullname() and gv_efullname(). |
1135 | |
1136 | Index: pp_sys.c |
1137 | |
1138 | This patch changes neither behavior nor performance. However, it does |
1139 | reduce code size and improve maintainability by combining some common |
1140 | code in gv_fullname() and gv_efullname(). |
1141 | |
1142 | Index: proto.h |
1143 | |
1144 | This patch changes neither behavior nor performance. However, it does |
1145 | reduce code size and improve maintainability by combining some common |
1146 | code in gv_fullname() and gv_efullname(). |
1147 | |
1148 | Index: run.c |
1149 | |
1150 | This patch changes neither behavior nor performance. However, it does |
1151 | reduce code size and improve maintainability by combining some common |
1152 | code in gv_fullname() and gv_efullname(). |
1153 | |
1154 | Index: sv.c |
1155 | |
1156 | Subject: random cleanup |
1157 | |
1158 | This patch removes a few obvious redundancies in the source. |
1159 | |
1160 | Subject: sv_setsv patch |
1161 | |
1162 | This patch changes neither behavior nor performance. However, it does |
1163 | reduce code size and improve maintainability by combining some common |
1164 | code in gv_fullname() and gv_efullname(). |
1165 | |
1166 | From: Chip Salzenberg <salzench@nielsenmedia.com> |
1167 | Subject: Track SVs for destruction when -DPURIFY |
1168 | |
1169 | When checking for memory leaks, I compiled Perl with "-DPURIFY". |
1170 | Although that flag improves the leak checking, it also breaks |
1171 | destruction of global objects, because SVs aren't kept in captive |
1172 | arenas any more. |
1173 | |
1174 | This patch rectifies the problem by providing an alternative |
1175 | method for keeping track of SVs when Perl is compiled for Purify. |
1176 | It has no effect on normal operation. |
1177 | |
1178 | |
1179 | Add comment about assert(len >=0) when len is unsigned anyway. |
1180 | |
1181 | Index: t/io/fs.t |
1182 | |
1183 | Subject: Re: truncate with file name does not work (with patch) |
1184 | |
1185 | The prototype for truncate was changed so that perl won't die |
1186 | with C<use strict;> when the first arg is a bareword (filehandle). |
1187 | I think it was Tom (as in "tchrist") who brought this up. |
1188 | |
1189 | Here's a patch that undoes the damage, makes it work with |
1190 | C<use strict;>, and adds to the testsuite. |
1191 | |
1192 | The "not implemented" branch is missing a "\n". |
1193 | |
1194 | Index: t/op/gv.t |
1195 | |
1196 | Subject: FAKE typeglobs seriously busted (with patch) |
1197 | |
1198 | Handling of fake typeglobs (scalars that are really globs |
1199 | in disguise) is seriously busted since 5.002 (it wasn't |
1200 | so in 5.001n). |
1201 | |
1202 | The problem is that mg_get() on a glob calls gv_efullname() |
1203 | which might coerce its first arg to a string. |
1204 | |
1205 | Index: t/op/substr.t |
1206 | |
1207 | |
1208 | Subject: lval substr() fails to clear lexicals in re-entered scopes (with patch) |
1209 | |
1210 | substr() in lvalue context interacts in buggy fashion with SVs that |
1211 | are !SvOK. This manifests itself with lexicals that have a REFCNT of |
1212 | 1, since these are merely "cleared in place" by setting SvOK_off. |
1213 | |
1214 | Subject: lval substr() coredumps with refs (with patch) |
1215 | |
1216 | substr() coredumps with a target that is a ref, when it is used in |
1217 | an lvalue context. |
1218 | The patch below corrects the problem by stringifying the reference |
1219 | first (and emitting a warning when appropriate). |
1220 | |
1221 | Index: toke.c |
1222 | |
1223 | Subject: Re: truncate with file name does not work (with patch) |
1224 | |
1225 | The prototype for truncate was changed so that perl won't die |
1226 | with C<use strict;> when the first arg is a bareword (filehandle). |
1227 | I think it was Tom (as in "tchrist") who brought this up. |
1228 | |
1229 | Here's a patch that undoes the damage, makes it work with |
1230 | C<use strict;>, and adds to the testsuite. |
1231 | |
1232 | Index: util.c |
1233 | |
1234 | Subject: Re: Perl 5.003 dumps core executing caller() in signal handler for |
1235 | __DIE__ (with patch) |
1236 | |
1237 | sv_2pv() might call croak() (which is not prepared to handle that |
1238 | when it calls sv_2pv(), itself). Likewise for warn() (but under |
1239 | slightly more esoteric circumstances--mg_get() in sv_2pv() might |
1240 | trigger a call to warn()). |
1241 | |
1242 | |
1243 | Subject: Patch for LONG_MAX & co. |
1244 | |
1245 | PERL_BADLANG is examined by default before issuing a warning during |
1246 | internationalization. |
1247 | |
1248 | Index: utils/h2xs.PL |
1249 | |
1250 | Make leading =head NAME item a paragraph so pod2man finds it. |
1251 | |
1252 | Index: utils/perldoc.PL |
1253 | |
1254 | Use col -x to filter out half-line feeds (ESC-9) from |
1255 | HP-UX nroff -man output. (col -x isn't portable -- SunOS |
1256 | doesn't support the -x option.) |
1257 | |
1258 | ---------------- |
e2cc8666 |
1259 | Version 5.003_03 |
1260 | ---------------- |
1261 | |
1262 | Most of the changes in 5.003_03 are to make the build and installation |
1263 | process more robust. The details are described below. A very brief |
1264 | summary is: |
1265 | |
1266 | o Visible Changes to Core Functionality |
1267 | |
1268 | -Support for tied filehandles. |
1269 | |
1270 | o Configure enhancements |
1271 | |
1272 | -How to build and install a shared libperl.so is now documented |
1273 | and supported, though it's not the default for most platforms. |
1274 | |
1275 | o Bug fixes |
1276 | |
1277 | -Support bit operations on strings longer than 15 bytes. |
1278 | |
1279 | -If a regex supplied to split() contains paranthesized subpatterns |
1280 | that can result in null matches, perl no longer coredumps. |
1281 | |
1282 | -Fix problems with each() on tied hashes. |
1283 | |
1284 | -Make h2ph architecture-independent by using Config at run-time |
1285 | rather than extraction time. |
1286 | |
1287 | o Specific Changes |
1288 | |
1289 | Here are the specific file-by-file changes. |
1290 | |
1291 | # This is my patch perl5.003_03.pat to perl5.003_02 |
1292 | # The full description is below. |
1293 | # Please execute the following commands before applying this patch. |
1294 | # (You can feed this patch to 'sh' to do so.) |
1295 | # Andy Dougherty <doughera@lafcol.lafayette.edu> |
1296 | |
1297 | # Absorbed into Changes5.002 |
1298 | rm -f Changes.Conf |
1299 | |
1300 | # Not needed. |
1301 | rm -f ext/POSIX/mkposixman.pl |
1302 | |
1303 | # Moved to README.os2. I'm not sure why the README files are |
1304 | # here rather than in the appropriate subdirectories. |
1305 | rm -f os2/README |
1306 | |
1307 | # Not needed. |
1308 | rm -f pod/Makefile.PL |
1309 | |
1310 | # New test for bit ops. |
1311 | touch t/op/bob.t |
1312 | |
1313 | # Patches that create new tests don't always make them executable. |
1314 | chmod +x t/*/*.t |
1315 | |
1316 | # Create a new directory for Porting and Patching info. |
1317 | mkdir Porting |
1318 | |
1319 | exit 0 |
1320 | |
1321 | This is patch perl5.003_03.pat to perl version 5.003_02. |
1322 | This takes you from 5.003_02 to 5.003_03. |
1323 | |
1324 | To apply this patch, run the above commands, |
1325 | cd to your perl source directory and then type |
1326 | |
1327 | patch -p1 -N < perl5.003_03.pat |
1328 | |
1329 | The changes are described after each /^Index/ line below. This is |
1330 | designed so you can examine each change with a command such as |
1331 | |
1332 | csplit -k perl5.003_03.pat '/^Index:/' '{99}' |
1333 | |
1334 | Patch and enjoy, |
1335 | |
1336 | Andy Dougherty doughera@lafcol.lafayette.edu |
1337 | Dept. of Physics |
1338 | Lafayette College, Easton PA 18042 |
1339 | |
1340 | Index: Changes |
1341 | |
1342 | Include 5.003_03 change notes. |
1343 | |
1344 | Move older change notes to separate files. |
1345 | |
1346 | Index: Changes5.000 |
1347 | |
1348 | New file. Changes from perl4.036 to 5.000. |
1349 | |
1350 | Index: Changes5.001 |
1351 | |
1352 | New file. Changes from 5.000 to 5.001 |
1353 | |
1354 | Index: Changes5.002 |
1355 | |
1356 | New file. Changes from 5.001 to 5.002 |
1357 | |
1358 | Index: Changes5.003 |
1359 | |
1360 | New file. Changes from 5.002 to 5.003 |
1361 | |
1362 | Index: Configure |
1363 | |
1364 | Relaxed warning about ksh on exotic machines. |
1365 | |
1366 | Changed usesafe to useopcode. |
1367 | |
1368 | Add search for gzip and zip. |
1369 | |
1370 | Look more carefully for $sh (the Bourne-ish shell). |
1371 | Use that info to set $startsh correctly. |
1372 | |
1373 | Change prompts for PerlIO interface. See INSTALL |
1374 | for how this is supposed to work. The default is |
1375 | still the same as in 5.003_02, namely don't use |
1376 | any fancy new PerlIO stuff. |
1377 | |
1378 | Don't look for sigvec() since we don't actually use it. |
1379 | (Plus, it used to print an alarming misleading message about |
1380 | race conditions.) |
1381 | |
1382 | Look for stdio's _filbuf under the possible names of |
1383 | _filbuf, __filbuf, and _fill. |
1384 | |
1385 | New $useshrplib variable to control whether we build a shared |
1386 | libperl.so. The name of the library is in $libperl. |
1387 | Always install it in $installarchlib/CORE/$libperl. |
1388 | |
1389 | Check for <sys/resource.h> and <sys/wait.h> for NetBSD. |
1390 | |
1391 | Replace old $altmake stuff with newer autoconf-ish |
1392 | $make_set_make, which checks if $make sets $(MAKE). Now you |
1393 | choose an alternate make with sh Configure -Dmake=gmake (or |
1394 | whatever). |
1395 | |
1396 | Remove 'ln' for the list of essential commands. Simulate |
1397 | it with 'cp' if necessary. |
1398 | |
1399 | Change `logname` prompts to handle extra gratuitous spaces in |
1400 | Ultrix output. |
1401 | |
1402 | Autodetect os2. |
1403 | |
1404 | Fix silly bug in checking for fully-qualified names in /etc/hosts. |
1405 | |
1406 | Generalize Gconvert tests. Give correct and more useful |
1407 | error messages. |
1408 | |
1409 | Use $obj_ext instead of literal '.o' in the dynaloader test. |
1410 | |
1411 | Include appropriate header files in bcopy() and memcpy() |
1412 | tests. Note whether memmove is available. |
1413 | |
1414 | Check whether struct sigaction works (needed for Solaris 2.5 |
1415 | with -Xc). |
1416 | |
1417 | Include appropriate header files for randbits test. |
1418 | |
1419 | Index: INSTALL |
1420 | |
1421 | Add note about space requirements. |
1422 | |
1423 | Update to match Configure changes (Opcode vs. Safe, |
1424 | useperlio, useshrplib, etc.) |
1425 | |
1426 | Reorganize the structure of some of the hints. |
1427 | |
1428 | Miscellaneous clarifications. |
1429 | |
1430 | Index: MANIFEST |
1431 | |
1432 | Updated. 5.003_02 introduced some massive patches, mostly |
1433 | due to spacing changes. I didn't bother to sort them all out; |
1434 | I just started with 5.003's MANIEFST. |
1435 | |
1436 | Index: Makefile.SH |
1437 | |
1438 | Support the new simplified shared libperl mechanism. |
1439 | |
1440 | Use new $make_set_make directive. |
1441 | |
1442 | Remove redundant libperl Make variable. |
1443 | |
1444 | Remove unnecessary MAB variable. |
1445 | |
1446 | Remove dependency of minitest on lib/Config.pm, since it could |
1447 | well have been a failure of configpm that inspired testing |
1448 | miniperl in the first place! |
1449 | |
1450 | Index: Porting/Glossary |
1451 | |
1452 | New file describing all the config.sh variables. |
1453 | Eventually, I hope to fill this directory with other useful |
1454 | stuff. |
1455 | |
1456 | Index: README.os2 |
1457 | |
1458 | Replace old README.os2 with more up-to-date os2/README. |
1459 | |
1460 | Index: config_H |
1461 | |
1462 | Updated to match current Configure and config_h.SH. |
1463 | Some rearrangement of parts has occurred due to new |
1464 | dependencies in the metaconfig units. |
1465 | |
1466 | Index: config_h.SH |
1467 | |
1468 | Updated to match current Configure and config_h.SH. |
1469 | Some rearrangement of parts has occurred due to new |
1470 | dependencies in the metaconfig units. |
1471 | |
1472 | Include full descriptions of ARCHLIB, OLDARCHLIB, PRIVLIB, |
1473 | SITEARCH, and SITELIB. Previous versions just included the |
1474 | ~-expanded names (with unhelpful descriptions). No functionality |
1475 | is changed, but maybe it's a little better documented now. |
1476 | |
1477 | Index: doio.c |
1478 | |
1479 | Possibly Include <signal.h> and <unistd.h> |
1480 | |
1481 | Index: doop.c |
1482 | |
1483 | No longer prefer bcmp over memcmp when order doesn't matter. |
1484 | |
1485 | Support bit operations on strings longer than 15 bytes. |
1486 | |
1487 | Index: embed.h |
1488 | |
1489 | Auto-generated. |
1490 | |
1491 | Index: embed.pl |
1492 | |
1493 | Expand warning at the top. |
1494 | |
1495 | Index: ext/IO/IO.pm |
1496 | |
1497 | Clean up docmentation installation errors. |
1498 | |
1499 | Index: ext/IO/lib/IO/Seekable.pm |
1500 | |
1501 | Clean up docmentation installation errors. |
1502 | |
1503 | Index: ext/IO/lib/IO/Select.pm |
1504 | |
1505 | Clean up docmentation installation errors. |
1506 | |
1507 | Index: ext/Opcode/Opcode.xs |
1508 | |
1509 | Add support for tied filehandles. |
1510 | |
1511 | Index: ext/SDBM_File/sdbm/sdbm.h |
1512 | |
1513 | Change the Mymalloc to match Perl_malloc in perl.h. |
1514 | |
1515 | Index: ext/util/make_ext |
1516 | |
1517 | Typo change. |
1518 | Get rid of unused altmake. |
1519 | |
1520 | Index: global.sym |
1521 | |
1522 | Fix problems with each() on tied hashes. |
1523 | |
1524 | Index: handy.h |
1525 | |
1526 | Change safe*alloc functions to have prototypes that |
1527 | match the system's malloc and free types. That is, use |
1528 | Malloc_t instead of char *, and Free_t instead of void. |
1529 | This is necessary so . . . |
1530 | |
1531 | Safefree cast matches type of free() whether it's perl's |
1532 | malloc/free or the system's malloc/free. |
1533 | |
1534 | Index: hints/README.hints |
1535 | |
1536 | Remove out-of-date info. |
1537 | |
1538 | Document a bit about how hint files work. |
1539 | |
1540 | Index: hints/aix.sh |
1541 | |
1542 | qmaxmem hint doesn't apply to gcc. |
1543 | |
1544 | Index: hints/dgux.sh |
1545 | |
1546 | Configure will now automatically detect shared libperl stuff. |
1547 | |
1548 | Index: hints/dynixptx.sh |
1549 | |
1550 | Fix typo in comment. |
1551 | |
1552 | Configure will now automatically detect shared libperl stuff. |
1553 | |
1554 | Index: hints/epix.sh |
1555 | |
1556 | Use glibpth instead of libpth. This allows Configure to |
1557 | add local directories, such as /opt/local/lib, etc. |
1558 | |
1559 | Index: hints/irix_6_2.sh |
1560 | |
1561 | Include some info on cc -n32 compile. |
1562 | |
1563 | Index: hints/linux.sh |
1564 | |
1565 | Configure now tests gcvt() more thoroughly. |
1566 | |
1567 | Index: hints/machten_2.sh |
1568 | |
1569 | Update where to find dld. |
1570 | |
1571 | Index: hints/mips.sh |
1572 | |
1573 | Use glibpth instead of libpth. |
1574 | |
1575 | Index: hints/next_3.sh |
1576 | |
1577 | Build up $mab dynamically. Since $mab isn't used anywhere |
1578 | anymore, this is useless. However, $mab was never used for |
1579 | next_3.sh anyway, so there's been no change in functionality. |
1580 | |
1581 | Index: hints/next_4.sh |
1582 | |
1583 | Get rid of extraneous isnext_4 variable. Configure and |
1584 | Makefile.SH will use $osname and $osvers instead. |
1585 | |
1586 | Build up $mab dynamically based on available architectures. |
1587 | |
1588 | Absorb $mab into ccflags and ccdlflags. I hope that will |
1589 | cover everything. (Configure should automatically remove |
1590 | the -arch stuff from cppflags.) |
1591 | |
1592 | Configure now knows next4 needs to use a shared libperl.5.so. |
1593 | |
1594 | Allow users to use -Dprefix. |
1595 | |
1596 | Index: hints/os2.sh |
1597 | |
1598 | Try to update to reflect newer shared libperl stuff. |
1599 | I probably goofed :-). |
1600 | |
1601 | Index: hints/sco.sh |
1602 | |
1603 | Additional notes on using icc. |
1604 | |
1605 | Additional flags for dynamic loading. |
1606 | |
1607 | Index: hints/solaris_2.sh |
1608 | |
1609 | Perl.h no longer prefers bcmp, so it's again ok if Configure |
1610 | finds them, since perl will prefer the mem* versions anyway. |
1611 | |
1612 | Index: hints/sunos_4_0.sh |
1613 | |
1614 | Don't include <unistd.h> |
1615 | |
1616 | Index: hints/sunos_4_1.sh |
1617 | |
1618 | Add brief note about GNU as and ld. |
1619 | |
1620 | Don't include <unistd.h> |
1621 | |
1622 | Add notes about WHOA THERE messages. |
1623 | |
1624 | Index: hints/titanos.sh |
1625 | |
1626 | Include sfio in libswanted. |
1627 | |
1628 | Don't set libpth any more. |
1629 | |
1630 | Index: hints/umips.sh |
1631 | |
1632 | New hint file. |
1633 | |
1634 | Index: hv.c |
1635 | |
1636 | Use memcmp even in cases where ordering doesn't matter. |
1637 | |
1638 | Fix problems with each() on tied hashes. |
1639 | |
1640 | Index: installperl |
1641 | |
1642 | Simplify installation of shared libperl.so. |
1643 | |
1644 | Avoid reaching Command Failed!!! with /usr/bin/perl. |
1645 | |
1646 | Index: lib/AutoSplit.pm |
1647 | |
1648 | Clean up docmentation installation errors. |
1649 | |
1650 | Index: lib/ExtUtils/MM_Unix.pm |
1651 | |
1652 | Remove MAB references. |
1653 | |
1654 | Use 'useshrplib' instead of 'd_shrplib' |
1655 | |
1656 | Index: lib/ExtUtils/MakeMaker.pm |
1657 | |
1658 | Remove mab references. |
1659 | |
1660 | Index: lib/FindBin.pm |
1661 | |
1662 | Clean up docmentation installation errors. |
1663 | |
1664 | Index: lib/Symbol.pm |
1665 | |
1666 | Put back in the BEGIN { require 5.002; }. The version in |
1667 | 5.003_02 wouldn't work in 5.002 anyway. Further, the whole |
1668 | point of the construct is to catch 5.001m, so we can't use |
1669 | syntax introduced after 5.001m to do that. |
1670 | |
1671 | Index: lib/Text/Wrap.pm |
1672 | |
1673 | Remove double 'use strict'. |
1674 | |
1675 | Index: lib/perl5db.pl |
1676 | |
1677 | Add explicit '&' to avoid warnings under strict refs. |
1678 | |
1679 | Index: lib/sigtrap.pm |
1680 | |
1681 | Clean up docmentation installation errors. |
1682 | |
1683 | Index: makedepend.SH |
1684 | |
1685 | Use Configure's $sh and $make_set_make variables. |
1686 | |
1687 | Index: mg.c |
1688 | |
1689 | Include <unistd.h> |
1690 | |
1691 | Use Safefree() macro instead of safefree() function with |
1692 | a (possibly) incorrect cast. The whole point of the |
1693 | Safefree() macro is that it does the correct cast for you. |
1694 | |
1695 | |
1696 | Index: patchlevel.h |
1697 | |
1698 | Change to SUBVERSION 3. |
1699 | |
1700 | Index: perl.c |
1701 | |
1702 | Include <unistd.h> |
1703 | |
1704 | Index: perl.h |
1705 | |
1706 | No longer prefer bcmp slightly for comparisons that don't care |
1707 | about ordering. |
1708 | |
1709 | Rely on Configure setting SH_PATH. |
1710 | |
1711 | Change the function name to Pause() instead of pause() to |
1712 | avoid potential prototype problems. (This naming convention |
1713 | is similar to the Fwrite and Fflush macros.) |
1714 | |
1715 | Fix problems with each() on tied hashes. |
1716 | |
1717 | Work around crypt prototype problem on NeXT. |
1718 | |
1719 | Index: perlio.c |
1720 | |
1721 | Fixes to support non-std stdio. |
1722 | |
1723 | Index: perlio.h |
1724 | |
1725 | Try to document the various #defines a bit. This is far from |
1726 | finished. |
1727 | |
1728 | Remove a lot of trailing whitespace. (It's of no consequence, but |
1729 | but I'm not going to redo the patch just to put back in the trailing |
1730 | whitespace either.) |
1731 | |
1732 | Index: perlsdio.h |
1733 | |
1734 | Fixes to support non-std stdio. |
1735 | |
1736 | Index: perly.c |
1737 | |
1738 | Restore use of Safefree() macro. |
1739 | |
1740 | Index: perly.c.diff |
1741 | |
1742 | Restore use of Safefree() macro. |
1743 | |
1744 | Index: perly.h |
1745 | |
1746 | Delete duplicate line. |
1747 | |
1748 | Index: plan9/buildinfo |
1749 | |
1750 | Update. |
1751 | |
1752 | Index: pod/perlapio.pod |
1753 | |
1754 | Clean up docmentation installation errors. |
1755 | |
1756 | Index: pod/perlipc.pod |
1757 | |
1758 | Fix typo. |
1759 | |
1760 | Untaint port number. |
1761 | |
1762 | Index: pod/perlmod.pod |
1763 | |
1764 | Fix a minor nit regarding Exporter. |
1765 | |
1766 | Index: pod/perlre.pod |
1767 | |
1768 | Clean up docmentation installation errors. |
1769 | |
1770 | Index: pod/perltie.pod |
1771 | |
1772 | Add support for tied filehandles. |
1773 | |
1774 | Index: pod/perltrap.pod |
1775 | |
1776 | Clean up docmentation installation errors. |
1777 | |
1778 | Index: pod/perlxstut.pod |
1779 | |
1780 | Clean up docmentation installation errors. |
1781 | |
1782 | Index: pod/pod2man.PL |
1783 | |
1784 | Clean up docmentation installation errors. |
1785 | |
1786 | Index: pp.c |
1787 | |
1788 | Add support for tied filehandles. |
1789 | |
1790 | If a regex supplied to split() contains paranthesized subpatterns |
1791 | that can result in null matches, perl coredumps. |
1792 | |
1793 | Index: pp_hot.c |
1794 | |
1795 | Use memcmp instead of bcmp even when we don't care about order. |
1796 | |
1797 | Add support for tied filehandles. |
1798 | |
1799 | Index: pp_sys.c |
1800 | |
1801 | Include <unistd.h>, <sys/wait.h>, and <sys/resource.h>. |
1802 | (The latter two are especially for NetBSD.) |
1803 | |
1804 | Don't assume sys/time.h and sys/select.h can't coexist. |
1805 | |
1806 | Use Pause macro. |
1807 | |
1808 | Index: proto.h |
1809 | |
1810 | Fix safe*alloc and safefree prototypes. |
1811 | |
1812 | Index: regexec.c |
1813 | |
1814 | Use memcmp instead of bcmp even when we don't care about order. |
1815 | |
1816 | Index: sv.c |
1817 | |
1818 | Use memcmp instead of bcmp even when we don't care about order. |
1819 | |
1820 | Index: t/lib/opcode.t |
1821 | |
1822 | Add support for tied filehandles. |
1823 | |
1824 | Index: t/op/bop.t |
1825 | |
1826 | Support bit operations on strings longer than 15 bytes. |
1827 | |
1828 | Index: t/op/misc.t |
1829 | |
1830 | Add support for tied filehandles. |
1831 | |
1832 | Index: t/op/split.t |
1833 | |
1834 | If a regex supplied to split() contains paranthesized subpatterns |
1835 | that can result in null matches, perl coredumps. |
1836 | |
1837 | Index: toke.c |
1838 | |
1839 | Include <unistd.h>. |
1840 | |
1841 | Use memcmp instead of bcmp even when we don't care about order. |
1842 | |
1843 | Index: util.c |
1844 | |
1845 | Include <unistd.h>. |
1846 | |
1847 | Use correct types for safe*alloc and safefree functions. |
1848 | |
1849 | Index: utils/h2ph.PL |
1850 | |
1851 | Make h2ph architecture-independent by using Config at run-time |
1852 | rather than extraction time. |
1853 | |
1854 | Index: writemain.SH |
1855 | |
1856 | Remove unnecessary curlies. (They are a leftover from |
1857 | an older auto_init mechanism.) |
1858 | |
1859 | Index: x2p/Makefile.SH |
1860 | |
1861 | Use Configure's $sh and $make_set_make. |
1862 | |
1863 | Remove MAB stuff, since it's now in ccflags. |
1864 | |
1865 | Keep 5.003's RCS info. |
1866 | |
1867 | Index: x2p/a2p.h |
1868 | |
1869 | Keep 5.003's RCS info. |
1870 | |
1871 | Index: x2p/str.c |
1872 | |
1873 | Use Configure's FILE_filbuf macro instead of a raw _filbuf. |
1874 | |
1875 | ---------------- |
760ac839 |
1876 | Version 5.003_02 |
1877 | ---------------- |
1878 | o Visible Changes to Core Functionality |
1879 | - Redefining constant subs, or changing sub's prototype now give warnings. |
1880 | - Fixes for ++/-- of values close to max/min size of an integer |
1881 | - Warning for un-qualified bareword as handler in $SIG{}. |
1882 | - UNIVERSAL::isa can now be called as static method. |
1883 | |
1884 | o Changes in Core Internals |
1885 | - PerlIO abstraction added. |
1886 | Perl core and standard extensions no longer assume ANSI C's stdio is IO |
1887 | mechanism, Default Configure mode is still to use stdio via set of C macros. |
1888 | Alternate modes are to use stdio via one perlio.c module, or |
1889 | to use sfio if available. |
1890 | |
1891 | - Several bug fixs from perl5-porters |
1892 | - Make sources non-ANSI C correct again. |
1893 | - SUPER in gv.c |
1894 | - Last of shared-hash-key patches |
1895 | - eval '(0,1..3)'; # --> SegFault |
1896 | - coredumps after simple subsitutes. |
1897 | - Correction to UNIVERSAL::VERSION docs. |
1898 | - Fixed io_udp test. |
1899 | - Fixed another abuse of malloc'ed memory. |
1900 | - Enabled DEBUGING_MSTATS whenever perl's malloc() is used. |
1901 | - Reverted to default of not hiding perl's malloc (if used). |
1902 | |
1903 | o Changes in the Standard Library and Utilities |
1904 | - Fixed MakeMaker for static SDBM and builing in a link tree. |
1905 | - Upgraded to IO-1.09, and includes latest (still experimental) IO::Select. |
1906 | - Documentation/test tweak to DB_File |
1907 | - h2xs upgrade to allow use C::Scan module |
1908 | |
1909 | o Changes in OS-specific and Build-time Support |
1910 | - Attempted to re-created 5.003_01's NeXT support with metaconfig units. |
1911 | - Updated MANIFEST |
1912 | - make minitest now depends on lib/Config.pm, as some of tests require it. |
1913 | - Included latest plan9 sub-directory |
1914 | - Applied OS/2 patches. |
1915 | - Typo patch for VMS. |
e4a57b87 |
1916 | |
1917 | ---------------- |
1918 | Version 5.003_01 |
1919 | ---------------- |
1920 | |
1921 | Version 5.003_01 contains bugfixes and additions accumulated since |
1922 | version 5.002_01, since the patch to version 5.003 was deliberately |
1923 | kept simple. In addition to numerous small bugfixes in the core, |
1924 | library files, and documentation, this patch contains several |
1925 | significant revisions, summarized below: |
1926 | |
1927 | o Visible Changes to Core Functionality |
1928 | |
1929 | - A port to Plan9 has been started, and changes are integrated into |
1930 | the standard distribution. As of this release, the Perl core |
1931 | and several common extensions are working. |
1932 | |
1933 | - A set of basic methods in the UNIVERSAL class have been added to |
1934 | the Perl core. Since UNIVERSAL is an implicit member of every |
1935 | class's @ISA, the methods can be called via any object. |
1936 | |
1937 | - A mandatory warning has been added for 'declarations' of lexical |
1938 | variables using the "my" operator which mask an existing lexical |
1939 | variable declared in the same scope, making the previous variable |
1940 | inaccessible by its name. |
1941 | |
1942 | - The "use" and "require" operators have been extended to allow |
1943 | checking of the required module's version. The "use" operator |
1944 | can now be used for an immediate version check of Perl itself. |
1945 | |
1946 | - A new "strict" pragma, "strict untie", has been added, which |
1947 | produces an error if a tied value is untied when other references |
1948 | exist to the internal object implementing the tie. |
1949 | |
1950 | - Barewords used as associative array keys (i.e. when specifying |
1951 | an associative array element like $foo{__BAR} or on the left |
1952 | side of the => operator) may now begin with an underscore as |
1953 | well as an alphabetic character. |
1954 | |
1955 | - Some of the configuration information previously produced by the |
1956 | -v switch has been moved to the -V switch, in order to keep -v |
1957 | output concise. |
1958 | |
1959 | o Changes in Core Internals |
1960 | |
1961 | - Symbol table and method lookups have been made faster. |
1962 | |
1963 | - Perl subroutines which just return a constant value are now |
1964 | optimized at compile time into inline constants. |
1965 | |
1966 | - Management of keys for associative arrays has been improved to |
1967 | conserve space when the same keys are reused frequently, and |
1968 | to pass true Perl values to tie functions, instead of stringified |
1969 | representations. |
1970 | |
1971 | - Messages normally output to stderr may be directed to another |
1972 | stream when Perl is built. This allows some platforms to |
1973 | present diagnostic output in a separate window from normal |
1974 | program results. |
1975 | |
1976 | - A bug which caused suiperl to fail silently, albeit securely, |
1977 | in version 5.003 on some systems has been fixed. |
1978 | |
1979 | - Management of Unix-style signal handlers via the %SIG associative |
1980 | array has been made safer. |
1981 | |
1982 | - Several global C symbols have been renamed to eliminate collisions |
1983 | with system C header files or libraries on some platforms. |
1984 | Unfortunately, this means that dynamic extensions compiled under |
1985 | previous versions of Perl will need to be rebuilt for Perl |
1986 | 5.003_01. We're in the process of cleaning up Perl's C |
1987 | namespace to make it easier to link Perl with other binaries, |
1988 | so this will probably happen again between now and version 5.004. |
1989 | After that, we'll do our best to maintain binary compatibility |
1990 | between versions. |
1991 | |
1992 | - An alternate allocation strategy has been added to Perl's |
1993 | optional private memory management routines. This strategy, |
1994 | which may be selected when Perl is built, is designed to |
1995 | conserve memory in programs which allocate many small |
1996 | chunks of memory with sizes near a power of 2, as is often |
1997 | the case in Perl programs. |
1998 | |
1999 | - Several memory leaks in the creation and destruction of |
2000 | multiple interpreters have been fixed. |
2001 | |
2002 | o Changes in the Standard Library and Utilities |
2003 | |
2004 | - The Opcode extension, which allows you to control a program's |
2005 | access to Perl operations, has been added to the standard |
2006 | distribution. This extends the work begun in the original |
2007 | Safe extension, and subsumes it. The Safe interface is still |
2008 | available. |
2009 | |
2010 | - The IO extension, which provides a set of classes for object- |
2011 | oriented handling of common I/O tasks, has been added to the |
2012 | standard distribution. The IO classes will form the basis |
2013 | for future development of Perl's I/O interface, and will |
2014 | subsume the FileHandle class in the near future. The default |
2015 | class to which all Perl I/O handles belong is now IO::Handle, |
2016 | rather than FileHandle. |
2017 | |
2018 | - The ExtUtils::Embed library module, which provides a set |
2019 | of utility function to help in embedding Perl in other |
2020 | applications, has been added to the standard distribution. |
2021 | |
2022 | - The Fatal library module, which provides a simple interface |
2023 | for creating "do-or-die" equivalents of existing functions, |
2024 | has been added to the standard distribution. |
2025 | |
2026 | - The FindBin library module, which determines the full path |
2027 | to the currently executing program, has been added to the |
2028 | standard distribution. |
2029 | |
2030 | - The DB_File extension, and the Getopt::Long, Test::Harness, |
2031 | Text::Tabs, Text::Wrap, Time::Local and sigtrap library modules |
2032 | have been updated to the authors' latest versions. |
2033 | |
2034 | - The Carp library module now considers the @ISA chain when |
2035 | determining the caller's package for inclusion in error messages. |
2036 | |
2037 | - The h2xs, perlbug, and xsubpp utilities have been updated. |
2038 | |
2039 | - The standard Perl debugger has been updated, and the information |
2040 | provided to the debugger when an XSUB is called has been improved, |
2041 | making it possible for alternate debuggers (such as Devel::DProf) |
2042 | to do a better job of tracking XSUB calls. |
2043 | |
2044 | - The pod documentation formatting tools in the standard distribution |
2045 | can now handle characters in the input stream whose high bit is set. |
2046 | |
2047 | - The cperl-mode EMACS editing mode has been updated. |
2048 | |
2049 | o Changes in Documentation |
2050 | |
2051 | - Typographic and formatting errors have been corrected in the pod |
2052 | documentation for the core and standard library files |
2053 | |
2054 | - Explanations of several core operators have been improved |
2055 | |
2056 | - The perldebug, perlembed, perlipc, perlsec, and perltrap documents |
2057 | extensively revised. |
2058 | |
2059 | o Changes in OS-specific and Build-time Support |
2060 | |
2061 | - Support for the NeXT platform has been extended through |
2062 | NeXTSTEP/OPENSTEP 4.0, and now includes the ability to create MABs. |
2063 | |
2064 | - Support for OS/2 has been extended as well, and now includes |
2065 | options for building a.out binaries. |
2066 | |
2067 | - Support for VMS has also been extended, incorporating improved |
2068 | processing of file specification strings, optional suppression of |
2069 | carriage control interpretation for record-structured files, |
2070 | improved support for the -S command line switch, a number of |
2071 | VMS-specific bugfixes, and significantly improved performance |
2072 | in line-oriented reading of files. |
2073 | |
2074 | - Several hints files have been added or updated: aux.sh (updated), |
2075 | convexos.sh (updated), irix_4.sh (updated), irix_5.sh (updated), |
2076 | irix_6_2.sh (updated), next_3.sh (updated), next_3_2.sh (new), |
2077 | next_3_3.sh (new), next_4.sh (new), os2/sh (updated), |
2078 | sco.sh (updated), and solaris_2.sh (updated). |
2079 | |
2080 | - The test driver for the regression tests now reports when a set |
2081 | of tests have been skipped (presumable because the operation |
2082 | they're designed to test isn't supported on the current system). |