Commit | Line | Data |
e4a57b87 |
1 | Please note: This file provides a summary of significant changes |
2 | between versions and sub-versions of Perl, not a complete list |
3 | of each modification. If you'd like more detailed information, |
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 | ---------------- |
e2cc8666 |
11 | Version 5.003_03 |
12 | ---------------- |
13 | |
14 | Most of the changes in 5.003_03 are to make the build and installation |
15 | process more robust. The details are described below. A very brief |
16 | summary is: |
17 | |
18 | o Visible Changes to Core Functionality |
19 | |
20 | -Support for tied filehandles. |
21 | |
22 | o Configure enhancements |
23 | |
24 | -How to build and install a shared libperl.so is now documented |
25 | and supported, though it's not the default for most platforms. |
26 | |
27 | o Bug fixes |
28 | |
29 | -Support bit operations on strings longer than 15 bytes. |
30 | |
31 | -If a regex supplied to split() contains paranthesized subpatterns |
32 | that can result in null matches, perl no longer coredumps. |
33 | |
34 | -Fix problems with each() on tied hashes. |
35 | |
36 | -Make h2ph architecture-independent by using Config at run-time |
37 | rather than extraction time. |
38 | |
39 | o Specific Changes |
40 | |
41 | Here are the specific file-by-file changes. |
42 | |
43 | # This is my patch perl5.003_03.pat to perl5.003_02 |
44 | # The full description is below. |
45 | # Please execute the following commands before applying this patch. |
46 | # (You can feed this patch to 'sh' to do so.) |
47 | # Andy Dougherty <doughera@lafcol.lafayette.edu> |
48 | |
49 | # Absorbed into Changes5.002 |
50 | rm -f Changes.Conf |
51 | |
52 | # Not needed. |
53 | rm -f ext/POSIX/mkposixman.pl |
54 | |
55 | # Moved to README.os2. I'm not sure why the README files are |
56 | # here rather than in the appropriate subdirectories. |
57 | rm -f os2/README |
58 | |
59 | # Not needed. |
60 | rm -f pod/Makefile.PL |
61 | |
62 | # New test for bit ops. |
63 | touch t/op/bob.t |
64 | |
65 | # Patches that create new tests don't always make them executable. |
66 | chmod +x t/*/*.t |
67 | |
68 | # Create a new directory for Porting and Patching info. |
69 | mkdir Porting |
70 | |
71 | exit 0 |
72 | |
73 | This is patch perl5.003_03.pat to perl version 5.003_02. |
74 | This takes you from 5.003_02 to 5.003_03. |
75 | |
76 | To apply this patch, run the above commands, |
77 | cd to your perl source directory and then type |
78 | |
79 | patch -p1 -N < perl5.003_03.pat |
80 | |
81 | The changes are described after each /^Index/ line below. This is |
82 | designed so you can examine each change with a command such as |
83 | |
84 | csplit -k perl5.003_03.pat '/^Index:/' '{99}' |
85 | |
86 | Patch and enjoy, |
87 | |
88 | Andy Dougherty doughera@lafcol.lafayette.edu |
89 | Dept. of Physics |
90 | Lafayette College, Easton PA 18042 |
91 | |
92 | Index: Changes |
93 | |
94 | Include 5.003_03 change notes. |
95 | |
96 | Move older change notes to separate files. |
97 | |
98 | Index: Changes5.000 |
99 | |
100 | New file. Changes from perl4.036 to 5.000. |
101 | |
102 | Index: Changes5.001 |
103 | |
104 | New file. Changes from 5.000 to 5.001 |
105 | |
106 | Index: Changes5.002 |
107 | |
108 | New file. Changes from 5.001 to 5.002 |
109 | |
110 | Index: Changes5.003 |
111 | |
112 | New file. Changes from 5.002 to 5.003 |
113 | |
114 | Index: Configure |
115 | |
116 | Relaxed warning about ksh on exotic machines. |
117 | |
118 | Changed usesafe to useopcode. |
119 | |
120 | Add search for gzip and zip. |
121 | |
122 | Look more carefully for $sh (the Bourne-ish shell). |
123 | Use that info to set $startsh correctly. |
124 | |
125 | Change prompts for PerlIO interface. See INSTALL |
126 | for how this is supposed to work. The default is |
127 | still the same as in 5.003_02, namely don't use |
128 | any fancy new PerlIO stuff. |
129 | |
130 | Don't look for sigvec() since we don't actually use it. |
131 | (Plus, it used to print an alarming misleading message about |
132 | race conditions.) |
133 | |
134 | Look for stdio's _filbuf under the possible names of |
135 | _filbuf, __filbuf, and _fill. |
136 | |
137 | New $useshrplib variable to control whether we build a shared |
138 | libperl.so. The name of the library is in $libperl. |
139 | Always install it in $installarchlib/CORE/$libperl. |
140 | |
141 | Check for <sys/resource.h> and <sys/wait.h> for NetBSD. |
142 | |
143 | Replace old $altmake stuff with newer autoconf-ish |
144 | $make_set_make, which checks if $make sets $(MAKE). Now you |
145 | choose an alternate make with sh Configure -Dmake=gmake (or |
146 | whatever). |
147 | |
148 | Remove 'ln' for the list of essential commands. Simulate |
149 | it with 'cp' if necessary. |
150 | |
151 | Change `logname` prompts to handle extra gratuitous spaces in |
152 | Ultrix output. |
153 | |
154 | Autodetect os2. |
155 | |
156 | Fix silly bug in checking for fully-qualified names in /etc/hosts. |
157 | |
158 | Generalize Gconvert tests. Give correct and more useful |
159 | error messages. |
160 | |
161 | Use $obj_ext instead of literal '.o' in the dynaloader test. |
162 | |
163 | Include appropriate header files in bcopy() and memcpy() |
164 | tests. Note whether memmove is available. |
165 | |
166 | Check whether struct sigaction works (needed for Solaris 2.5 |
167 | with -Xc). |
168 | |
169 | Include appropriate header files for randbits test. |
170 | |
171 | Index: INSTALL |
172 | |
173 | Add note about space requirements. |
174 | |
175 | Update to match Configure changes (Opcode vs. Safe, |
176 | useperlio, useshrplib, etc.) |
177 | |
178 | Reorganize the structure of some of the hints. |
179 | |
180 | Miscellaneous clarifications. |
181 | |
182 | Index: MANIFEST |
183 | |
184 | Updated. 5.003_02 introduced some massive patches, mostly |
185 | due to spacing changes. I didn't bother to sort them all out; |
186 | I just started with 5.003's MANIEFST. |
187 | |
188 | Index: Makefile.SH |
189 | |
190 | Support the new simplified shared libperl mechanism. |
191 | |
192 | Use new $make_set_make directive. |
193 | |
194 | Remove redundant libperl Make variable. |
195 | |
196 | Remove unnecessary MAB variable. |
197 | |
198 | Remove dependency of minitest on lib/Config.pm, since it could |
199 | well have been a failure of configpm that inspired testing |
200 | miniperl in the first place! |
201 | |
202 | Index: Porting/Glossary |
203 | |
204 | New file describing all the config.sh variables. |
205 | Eventually, I hope to fill this directory with other useful |
206 | stuff. |
207 | |
208 | Index: README.os2 |
209 | |
210 | Replace old README.os2 with more up-to-date os2/README. |
211 | |
212 | Index: config_H |
213 | |
214 | Updated to match current Configure and config_h.SH. |
215 | Some rearrangement of parts has occurred due to new |
216 | dependencies in the metaconfig units. |
217 | |
218 | Index: config_h.SH |
219 | |
220 | Updated to match current Configure and config_h.SH. |
221 | Some rearrangement of parts has occurred due to new |
222 | dependencies in the metaconfig units. |
223 | |
224 | Include full descriptions of ARCHLIB, OLDARCHLIB, PRIVLIB, |
225 | SITEARCH, and SITELIB. Previous versions just included the |
226 | ~-expanded names (with unhelpful descriptions). No functionality |
227 | is changed, but maybe it's a little better documented now. |
228 | |
229 | Index: doio.c |
230 | |
231 | Possibly Include <signal.h> and <unistd.h> |
232 | |
233 | Index: doop.c |
234 | |
235 | No longer prefer bcmp over memcmp when order doesn't matter. |
236 | |
237 | Support bit operations on strings longer than 15 bytes. |
238 | |
239 | Index: embed.h |
240 | |
241 | Auto-generated. |
242 | |
243 | Index: embed.pl |
244 | |
245 | Expand warning at the top. |
246 | |
247 | Index: ext/IO/IO.pm |
248 | |
249 | Clean up docmentation installation errors. |
250 | |
251 | Index: ext/IO/lib/IO/Seekable.pm |
252 | |
253 | Clean up docmentation installation errors. |
254 | |
255 | Index: ext/IO/lib/IO/Select.pm |
256 | |
257 | Clean up docmentation installation errors. |
258 | |
259 | Index: ext/Opcode/Opcode.xs |
260 | |
261 | Add support for tied filehandles. |
262 | |
263 | Index: ext/SDBM_File/sdbm/sdbm.h |
264 | |
265 | Change the Mymalloc to match Perl_malloc in perl.h. |
266 | |
267 | Index: ext/util/make_ext |
268 | |
269 | Typo change. |
270 | Get rid of unused altmake. |
271 | |
272 | Index: global.sym |
273 | |
274 | Fix problems with each() on tied hashes. |
275 | |
276 | Index: handy.h |
277 | |
278 | Change safe*alloc functions to have prototypes that |
279 | match the system's malloc and free types. That is, use |
280 | Malloc_t instead of char *, and Free_t instead of void. |
281 | This is necessary so . . . |
282 | |
283 | Safefree cast matches type of free() whether it's perl's |
284 | malloc/free or the system's malloc/free. |
285 | |
286 | Index: hints/README.hints |
287 | |
288 | Remove out-of-date info. |
289 | |
290 | Document a bit about how hint files work. |
291 | |
292 | Index: hints/aix.sh |
293 | |
294 | qmaxmem hint doesn't apply to gcc. |
295 | |
296 | Index: hints/dgux.sh |
297 | |
298 | Configure will now automatically detect shared libperl stuff. |
299 | |
300 | Index: hints/dynixptx.sh |
301 | |
302 | Fix typo in comment. |
303 | |
304 | Configure will now automatically detect shared libperl stuff. |
305 | |
306 | Index: hints/epix.sh |
307 | |
308 | Use glibpth instead of libpth. This allows Configure to |
309 | add local directories, such as /opt/local/lib, etc. |
310 | |
311 | Index: hints/irix_6_2.sh |
312 | |
313 | Include some info on cc -n32 compile. |
314 | |
315 | Index: hints/linux.sh |
316 | |
317 | Configure now tests gcvt() more thoroughly. |
318 | |
319 | Index: hints/machten_2.sh |
320 | |
321 | Update where to find dld. |
322 | |
323 | Index: hints/mips.sh |
324 | |
325 | Use glibpth instead of libpth. |
326 | |
327 | Index: hints/next_3.sh |
328 | |
329 | Build up $mab dynamically. Since $mab isn't used anywhere |
330 | anymore, this is useless. However, $mab was never used for |
331 | next_3.sh anyway, so there's been no change in functionality. |
332 | |
333 | Index: hints/next_4.sh |
334 | |
335 | Get rid of extraneous isnext_4 variable. Configure and |
336 | Makefile.SH will use $osname and $osvers instead. |
337 | |
338 | Build up $mab dynamically based on available architectures. |
339 | |
340 | Absorb $mab into ccflags and ccdlflags. I hope that will |
341 | cover everything. (Configure should automatically remove |
342 | the -arch stuff from cppflags.) |
343 | |
344 | Configure now knows next4 needs to use a shared libperl.5.so. |
345 | |
346 | Allow users to use -Dprefix. |
347 | |
348 | Index: hints/os2.sh |
349 | |
350 | Try to update to reflect newer shared libperl stuff. |
351 | I probably goofed :-). |
352 | |
353 | Index: hints/sco.sh |
354 | |
355 | Additional notes on using icc. |
356 | |
357 | Additional flags for dynamic loading. |
358 | |
359 | Index: hints/solaris_2.sh |
360 | |
361 | Perl.h no longer prefers bcmp, so it's again ok if Configure |
362 | finds them, since perl will prefer the mem* versions anyway. |
363 | |
364 | Index: hints/sunos_4_0.sh |
365 | |
366 | Don't include <unistd.h> |
367 | |
368 | Index: hints/sunos_4_1.sh |
369 | |
370 | Add brief note about GNU as and ld. |
371 | |
372 | Don't include <unistd.h> |
373 | |
374 | Add notes about WHOA THERE messages. |
375 | |
376 | Index: hints/titanos.sh |
377 | |
378 | Include sfio in libswanted. |
379 | |
380 | Don't set libpth any more. |
381 | |
382 | Index: hints/umips.sh |
383 | |
384 | New hint file. |
385 | |
386 | Index: hv.c |
387 | |
388 | Use memcmp even in cases where ordering doesn't matter. |
389 | |
390 | Fix problems with each() on tied hashes. |
391 | |
392 | Index: installperl |
393 | |
394 | Simplify installation of shared libperl.so. |
395 | |
396 | Avoid reaching Command Failed!!! with /usr/bin/perl. |
397 | |
398 | Index: lib/AutoSplit.pm |
399 | |
400 | Clean up docmentation installation errors. |
401 | |
402 | Index: lib/ExtUtils/MM_Unix.pm |
403 | |
404 | Remove MAB references. |
405 | |
406 | Use 'useshrplib' instead of 'd_shrplib' |
407 | |
408 | Index: lib/ExtUtils/MakeMaker.pm |
409 | |
410 | Remove mab references. |
411 | |
412 | Index: lib/FindBin.pm |
413 | |
414 | Clean up docmentation installation errors. |
415 | |
416 | Index: lib/Symbol.pm |
417 | |
418 | Put back in the BEGIN { require 5.002; }. The version in |
419 | 5.003_02 wouldn't work in 5.002 anyway. Further, the whole |
420 | point of the construct is to catch 5.001m, so we can't use |
421 | syntax introduced after 5.001m to do that. |
422 | |
423 | Index: lib/Text/Wrap.pm |
424 | |
425 | Remove double 'use strict'. |
426 | |
427 | Index: lib/perl5db.pl |
428 | |
429 | Add explicit '&' to avoid warnings under strict refs. |
430 | |
431 | Index: lib/sigtrap.pm |
432 | |
433 | Clean up docmentation installation errors. |
434 | |
435 | Index: makedepend.SH |
436 | |
437 | Use Configure's $sh and $make_set_make variables. |
438 | |
439 | Index: mg.c |
440 | |
441 | Include <unistd.h> |
442 | |
443 | Use Safefree() macro instead of safefree() function with |
444 | a (possibly) incorrect cast. The whole point of the |
445 | Safefree() macro is that it does the correct cast for you. |
446 | |
447 | |
448 | Index: patchlevel.h |
449 | |
450 | Change to SUBVERSION 3. |
451 | |
452 | Index: perl.c |
453 | |
454 | Include <unistd.h> |
455 | |
456 | Index: perl.h |
457 | |
458 | No longer prefer bcmp slightly for comparisons that don't care |
459 | about ordering. |
460 | |
461 | Rely on Configure setting SH_PATH. |
462 | |
463 | Change the function name to Pause() instead of pause() to |
464 | avoid potential prototype problems. (This naming convention |
465 | is similar to the Fwrite and Fflush macros.) |
466 | |
467 | Fix problems with each() on tied hashes. |
468 | |
469 | Work around crypt prototype problem on NeXT. |
470 | |
471 | Index: perlio.c |
472 | |
473 | Fixes to support non-std stdio. |
474 | |
475 | Index: perlio.h |
476 | |
477 | Try to document the various #defines a bit. This is far from |
478 | finished. |
479 | |
480 | Remove a lot of trailing whitespace. (It's of no consequence, but |
481 | but I'm not going to redo the patch just to put back in the trailing |
482 | whitespace either.) |
483 | |
484 | Index: perlsdio.h |
485 | |
486 | Fixes to support non-std stdio. |
487 | |
488 | Index: perly.c |
489 | |
490 | Restore use of Safefree() macro. |
491 | |
492 | Index: perly.c.diff |
493 | |
494 | Restore use of Safefree() macro. |
495 | |
496 | Index: perly.h |
497 | |
498 | Delete duplicate line. |
499 | |
500 | Index: plan9/buildinfo |
501 | |
502 | Update. |
503 | |
504 | Index: pod/perlapio.pod |
505 | |
506 | Clean up docmentation installation errors. |
507 | |
508 | Index: pod/perlipc.pod |
509 | |
510 | Fix typo. |
511 | |
512 | Untaint port number. |
513 | |
514 | Index: pod/perlmod.pod |
515 | |
516 | Fix a minor nit regarding Exporter. |
517 | |
518 | Index: pod/perlre.pod |
519 | |
520 | Clean up docmentation installation errors. |
521 | |
522 | Index: pod/perltie.pod |
523 | |
524 | Add support for tied filehandles. |
525 | |
526 | Index: pod/perltrap.pod |
527 | |
528 | Clean up docmentation installation errors. |
529 | |
530 | Index: pod/perlxstut.pod |
531 | |
532 | Clean up docmentation installation errors. |
533 | |
534 | Index: pod/pod2man.PL |
535 | |
536 | Clean up docmentation installation errors. |
537 | |
538 | Index: pp.c |
539 | |
540 | Add support for tied filehandles. |
541 | |
542 | If a regex supplied to split() contains paranthesized subpatterns |
543 | that can result in null matches, perl coredumps. |
544 | |
545 | Index: pp_hot.c |
546 | |
547 | Use memcmp instead of bcmp even when we don't care about order. |
548 | |
549 | Add support for tied filehandles. |
550 | |
551 | Index: pp_sys.c |
552 | |
553 | Include <unistd.h>, <sys/wait.h>, and <sys/resource.h>. |
554 | (The latter two are especially for NetBSD.) |
555 | |
556 | Don't assume sys/time.h and sys/select.h can't coexist. |
557 | |
558 | Use Pause macro. |
559 | |
560 | Index: proto.h |
561 | |
562 | Fix safe*alloc and safefree prototypes. |
563 | |
564 | Index: regexec.c |
565 | |
566 | Use memcmp instead of bcmp even when we don't care about order. |
567 | |
568 | Index: sv.c |
569 | |
570 | Use memcmp instead of bcmp even when we don't care about order. |
571 | |
572 | Index: t/lib/opcode.t |
573 | |
574 | Add support for tied filehandles. |
575 | |
576 | Index: t/op/bop.t |
577 | |
578 | Support bit operations on strings longer than 15 bytes. |
579 | |
580 | Index: t/op/misc.t |
581 | |
582 | Add support for tied filehandles. |
583 | |
584 | Index: t/op/split.t |
585 | |
586 | If a regex supplied to split() contains paranthesized subpatterns |
587 | that can result in null matches, perl coredumps. |
588 | |
589 | Index: toke.c |
590 | |
591 | Include <unistd.h>. |
592 | |
593 | Use memcmp instead of bcmp even when we don't care about order. |
594 | |
595 | Index: util.c |
596 | |
597 | Include <unistd.h>. |
598 | |
599 | Use correct types for safe*alloc and safefree functions. |
600 | |
601 | Index: utils/h2ph.PL |
602 | |
603 | Make h2ph architecture-independent by using Config at run-time |
604 | rather than extraction time. |
605 | |
606 | Index: writemain.SH |
607 | |
608 | Remove unnecessary curlies. (They are a leftover from |
609 | an older auto_init mechanism.) |
610 | |
611 | Index: x2p/Makefile.SH |
612 | |
613 | Use Configure's $sh and $make_set_make. |
614 | |
615 | Remove MAB stuff, since it's now in ccflags. |
616 | |
617 | Keep 5.003's RCS info. |
618 | |
619 | Index: x2p/a2p.h |
620 | |
621 | Keep 5.003's RCS info. |
622 | |
623 | Index: x2p/str.c |
624 | |
625 | Use Configure's FILE_filbuf macro instead of a raw _filbuf. |
626 | |
627 | ---------------- |
760ac839 |
628 | Version 5.003_02 |
629 | ---------------- |
630 | o Visible Changes to Core Functionality |
631 | - Redefining constant subs, or changing sub's prototype now give warnings. |
632 | - Fixes for ++/-- of values close to max/min size of an integer |
633 | - Warning for un-qualified bareword as handler in $SIG{}. |
634 | - UNIVERSAL::isa can now be called as static method. |
635 | |
636 | o Changes in Core Internals |
637 | - PerlIO abstraction added. |
638 | Perl core and standard extensions no longer assume ANSI C's stdio is IO |
639 | mechanism, Default Configure mode is still to use stdio via set of C macros. |
640 | Alternate modes are to use stdio via one perlio.c module, or |
641 | to use sfio if available. |
642 | |
643 | - Several bug fixs from perl5-porters |
644 | - Make sources non-ANSI C correct again. |
645 | - SUPER in gv.c |
646 | - Last of shared-hash-key patches |
647 | - eval '(0,1..3)'; # --> SegFault |
648 | - coredumps after simple subsitutes. |
649 | - Correction to UNIVERSAL::VERSION docs. |
650 | - Fixed io_udp test. |
651 | - Fixed another abuse of malloc'ed memory. |
652 | - Enabled DEBUGING_MSTATS whenever perl's malloc() is used. |
653 | - Reverted to default of not hiding perl's malloc (if used). |
654 | |
655 | o Changes in the Standard Library and Utilities |
656 | - Fixed MakeMaker for static SDBM and builing in a link tree. |
657 | - Upgraded to IO-1.09, and includes latest (still experimental) IO::Select. |
658 | - Documentation/test tweak to DB_File |
659 | - h2xs upgrade to allow use C::Scan module |
660 | |
661 | o Changes in OS-specific and Build-time Support |
662 | - Attempted to re-created 5.003_01's NeXT support with metaconfig units. |
663 | - Updated MANIFEST |
664 | - make minitest now depends on lib/Config.pm, as some of tests require it. |
665 | - Included latest plan9 sub-directory |
666 | - Applied OS/2 patches. |
667 | - Typo patch for VMS. |
e4a57b87 |
668 | |
669 | ---------------- |
670 | Version 5.003_01 |
671 | ---------------- |
672 | |
673 | Version 5.003_01 contains bugfixes and additions accumulated since |
674 | version 5.002_01, since the patch to version 5.003 was deliberately |
675 | kept simple. In addition to numerous small bugfixes in the core, |
676 | library files, and documentation, this patch contains several |
677 | significant revisions, summarized below: |
678 | |
679 | o Visible Changes to Core Functionality |
680 | |
681 | - A port to Plan9 has been started, and changes are integrated into |
682 | the standard distribution. As of this release, the Perl core |
683 | and several common extensions are working. |
684 | |
685 | - A set of basic methods in the UNIVERSAL class have been added to |
686 | the Perl core. Since UNIVERSAL is an implicit member of every |
687 | class's @ISA, the methods can be called via any object. |
688 | |
689 | - A mandatory warning has been added for 'declarations' of lexical |
690 | variables using the "my" operator which mask an existing lexical |
691 | variable declared in the same scope, making the previous variable |
692 | inaccessible by its name. |
693 | |
694 | - The "use" and "require" operators have been extended to allow |
695 | checking of the required module's version. The "use" operator |
696 | can now be used for an immediate version check of Perl itself. |
697 | |
698 | - A new "strict" pragma, "strict untie", has been added, which |
699 | produces an error if a tied value is untied when other references |
700 | exist to the internal object implementing the tie. |
701 | |
702 | - Barewords used as associative array keys (i.e. when specifying |
703 | an associative array element like $foo{__BAR} or on the left |
704 | side of the => operator) may now begin with an underscore as |
705 | well as an alphabetic character. |
706 | |
707 | - Some of the configuration information previously produced by the |
708 | -v switch has been moved to the -V switch, in order to keep -v |
709 | output concise. |
710 | |
711 | o Changes in Core Internals |
712 | |
713 | - Symbol table and method lookups have been made faster. |
714 | |
715 | - Perl subroutines which just return a constant value are now |
716 | optimized at compile time into inline constants. |
717 | |
718 | - Management of keys for associative arrays has been improved to |
719 | conserve space when the same keys are reused frequently, and |
720 | to pass true Perl values to tie functions, instead of stringified |
721 | representations. |
722 | |
723 | - Messages normally output to stderr may be directed to another |
724 | stream when Perl is built. This allows some platforms to |
725 | present diagnostic output in a separate window from normal |
726 | program results. |
727 | |
728 | - A bug which caused suiperl to fail silently, albeit securely, |
729 | in version 5.003 on some systems has been fixed. |
730 | |
731 | - Management of Unix-style signal handlers via the %SIG associative |
732 | array has been made safer. |
733 | |
734 | - Several global C symbols have been renamed to eliminate collisions |
735 | with system C header files or libraries on some platforms. |
736 | Unfortunately, this means that dynamic extensions compiled under |
737 | previous versions of Perl will need to be rebuilt for Perl |
738 | 5.003_01. We're in the process of cleaning up Perl's C |
739 | namespace to make it easier to link Perl with other binaries, |
740 | so this will probably happen again between now and version 5.004. |
741 | After that, we'll do our best to maintain binary compatibility |
742 | between versions. |
743 | |
744 | - An alternate allocation strategy has been added to Perl's |
745 | optional private memory management routines. This strategy, |
746 | which may be selected when Perl is built, is designed to |
747 | conserve memory in programs which allocate many small |
748 | chunks of memory with sizes near a power of 2, as is often |
749 | the case in Perl programs. |
750 | |
751 | - Several memory leaks in the creation and destruction of |
752 | multiple interpreters have been fixed. |
753 | |
754 | o Changes in the Standard Library and Utilities |
755 | |
756 | - The Opcode extension, which allows you to control a program's |
757 | access to Perl operations, has been added to the standard |
758 | distribution. This extends the work begun in the original |
759 | Safe extension, and subsumes it. The Safe interface is still |
760 | available. |
761 | |
762 | - The IO extension, which provides a set of classes for object- |
763 | oriented handling of common I/O tasks, has been added to the |
764 | standard distribution. The IO classes will form the basis |
765 | for future development of Perl's I/O interface, and will |
766 | subsume the FileHandle class in the near future. The default |
767 | class to which all Perl I/O handles belong is now IO::Handle, |
768 | rather than FileHandle. |
769 | |
770 | - The ExtUtils::Embed library module, which provides a set |
771 | of utility function to help in embedding Perl in other |
772 | applications, has been added to the standard distribution. |
773 | |
774 | - The Fatal library module, which provides a simple interface |
775 | for creating "do-or-die" equivalents of existing functions, |
776 | has been added to the standard distribution. |
777 | |
778 | - The FindBin library module, which determines the full path |
779 | to the currently executing program, has been added to the |
780 | standard distribution. |
781 | |
782 | - The DB_File extension, and the Getopt::Long, Test::Harness, |
783 | Text::Tabs, Text::Wrap, Time::Local and sigtrap library modules |
784 | have been updated to the authors' latest versions. |
785 | |
786 | - The Carp library module now considers the @ISA chain when |
787 | determining the caller's package for inclusion in error messages. |
788 | |
789 | - The h2xs, perlbug, and xsubpp utilities have been updated. |
790 | |
791 | - The standard Perl debugger has been updated, and the information |
792 | provided to the debugger when an XSUB is called has been improved, |
793 | making it possible for alternate debuggers (such as Devel::DProf) |
794 | to do a better job of tracking XSUB calls. |
795 | |
796 | - The pod documentation formatting tools in the standard distribution |
797 | can now handle characters in the input stream whose high bit is set. |
798 | |
799 | - The cperl-mode EMACS editing mode has been updated. |
800 | |
801 | o Changes in Documentation |
802 | |
803 | - Typographic and formatting errors have been corrected in the pod |
804 | documentation for the core and standard library files |
805 | |
806 | - Explanations of several core operators have been improved |
807 | |
808 | - The perldebug, perlembed, perlipc, perlsec, and perltrap documents |
809 | extensively revised. |
810 | |
811 | o Changes in OS-specific and Build-time Support |
812 | |
813 | - Support for the NeXT platform has been extended through |
814 | NeXTSTEP/OPENSTEP 4.0, and now includes the ability to create MABs. |
815 | |
816 | - Support for OS/2 has been extended as well, and now includes |
817 | options for building a.out binaries. |
818 | |
819 | - Support for VMS has also been extended, incorporating improved |
820 | processing of file specification strings, optional suppression of |
821 | carriage control interpretation for record-structured files, |
822 | improved support for the -S command line switch, a number of |
823 | VMS-specific bugfixes, and significantly improved performance |
824 | in line-oriented reading of files. |
825 | |
826 | - Several hints files have been added or updated: aux.sh (updated), |
827 | convexos.sh (updated), irix_4.sh (updated), irix_5.sh (updated), |
828 | irix_6_2.sh (updated), next_3.sh (updated), next_3_2.sh (new), |
829 | next_3_3.sh (new), next_4.sh (new), os2/sh (updated), |
830 | sco.sh (updated), and solaris_2.sh (updated). |
831 | |
832 | - The test driver for the regression tests now reports when a set |
833 | of tests have been skipped (presumable because the operation |
834 | they're designed to test isn't supported on the current system). |