From: Rafael Garcia-Suarez Date: Tue, 27 Jan 2004 22:44:30 +0000 (+0000) Subject: Update perl591delta.pod with what we've done so far. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=f0f92e3cdda03977fb3659c6ac0273b2c901a9e3;p=p5sagit%2Fp5-mst-13.2.git Update perl591delta.pod with what we've done so far. p4raw-id: //depot/perl@22242 --- diff --git a/pod/perl591delta.pod b/pod/perl591delta.pod index 9f5b628..52b54fd 100644 --- a/pod/perl591delta.pod +++ b/pod/perl591delta.pod @@ -27,14 +27,64 @@ L). Without a SCALAR method, perl will try to guess whether the hash is empty, by testing if it's inside an iteration (in this case it can't be empty) or by calling FIRSTKEY. +=head2 Formats + +Formats were improved in several ways. A new field, C<^*>, can be used for +variable-width, one-line-at-a-time text. Null characters are now handled +correctly in picture lines. Using C<@#> and C<~~> together will now +produce a compile-time error, as those format fields are incompatible. +L has been improved, and miscellaneous bugs fixed. + +=head2 The C<:unique> attribute is only meaningful for globals + +Now applying C<:unique> to lexical variables and to subroutines will +result in a compilation error. + =head1 Modules and Pragmata +=over 4 + +=item Carp + +The error messages produced by C now include spaces between the +arguments in function argument lists: this makes long error messages +appear more nicely in browsers and other tools. + +=item Exporter + +C will now recognize grouping tags (such as C<:name>) anywhere +in the import list, not only at the beginning. + +=item FindBin + +A function C is provided to resolve problems where modules in different +directories wish to use FindBin. + +=item List::Util + +You can now weaken references to read only values. + +=item threads::shared + +C has a new two argument form. C has been added. + +=back + =head1 Utility Changes C now assumes C<-print> as a default action. Previously, it needed to be specified explicitly. -=head1 New Documentation +A new utility, C, makes it easy to run an individual regression test +at the command line. C is part of Test::Harness, which users of earlier +Perl versions can install from CPAN. + +=head1 Documentation + +The documentation has been revised in places to produce more standard manpages. + +The long-existing feature of C regexps setting C<$_> and pos() +is now documented. =head1 Performance Enhancements @@ -42,10 +92,55 @@ needed to be specified explicitly. =head1 Selected Bug Fixes +=head2 UTF8 bugs + +Using substr() on a UTF8 string could cause subsequent accesses on that +string to return garbage. This was due to incorrect UTF8 offsets being +cached, and is now fixed. + +join() could return garbage when the same join() statement was used to +process 8 bit data having earlier processed UTF8 data, due to the flags +on that statement's temporary workspace not being reset correctly. This +is now fixed. + +Using Unicode keys with tied hashes should now work correctly. + +chop() and chomp() used to mangle UTF8 strings. This has been fixed. + +=head2 Threading bugs + +Hashes with the C<:unique> attribute weren't made read-only in new +threads. They are now. + +=head2 More bugs + +C<$a .. $b> will now work as expected when either $a or $b is C + +Reading $^E now preserves $!. Previously, the C code implementing $^E +did not preserve C, so reading $^E could cause C and therefore +C<$!> to change unexpectedly. + +Reentrant functions will (once more) work with C++. 5.8.2 introduced a bugfix +which accidentally broke the compilation of Perl extensions written in C++ + =head1 New or Changed Diagnostics +The fatal error "DESTROY created new reference to dead object" is now +documented in L. + +A new error, "%ENV is aliased to %s", is produced when taint checks are +enabled and when *ENV has been aliased (and thus doesn't reflect the +program's environment anymore.) + =head1 Changed Internals +=head1 Configuration and Building + +C now invokes callbacks regardless of the value of the variable +they are called for. Previously callbacks were only invoked in the +C branch. This change should only affect platform +maintainers writing configuration hints files. + =head1 New Tests =head1 Known Problems