diff options
author | Nicholas Clark <nick@ccl4.org> | 2008-11-05 22:19:40 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2008-11-05 22:19:40 +0000 |
commit | ef98a97c6780190e32876ef0010a28445c10ba91 (patch) | |
tree | d2fb4ddbea1e95d30ed7d1cdc437e78d75e05c28 | |
parent | 19cf888bb06b03d27f15050668ced1ab93fccc6c (diff) | |
download | perl-ef98a97c6780190e32876ef0010a28445c10ba91.tar.gz |
Try to order and group the "selected bug fixes"
p4raw-id: //depot/maint-5.8/perl@34741
-rw-r--r-- | pod/perl589delta.pod | 173 |
1 files changed, 80 insertions, 93 deletions
diff --git a/pod/perl589delta.pod b/pod/perl589delta.pod index af705e563f..4da9546d22 100644 --- a/pod/perl589delta.pod +++ b/pod/perl589delta.pod @@ -1127,6 +1127,11 @@ already known, or by adopting or enhancing APIs that pass lengths. C<index> is now faster if the search string is stored in UTF-8 but only contains characters in the Latin-1 range. +=item * + +The Unicode swatch cache inside the regexp engine is now used. (the lookup had +a key mismatch, present since the initial implementation). [RT #42839] + =back =head1 Installation and Configuration Improvements @@ -1298,93 +1303,74 @@ The F<WinCE> directory has been merged into the F<Win32> directory. =head1 Selected Bug Fixes -=for FIXME - -=over - -=item * - -UTF-8 - -Change 28169 - a lot of UTF-8 overloading -And tie. -$@ +=head2 Unicode -=item * +Many many bugs related to the internal Unicode implementation (UTF-8) have +been fixed. In particular, long standing bugs related to returning Unicode +via C<tie>, overloading or C<$@> are now gone, some of which were never +reported. -PerlIO fd reference counting. 30269 +C<unpack> will internally convert the string back from UTF-8 on numeric types. +This is a compramise between the full consistency now in 5.10, and the current +behaviour, which is often used as a "feature" on string types. -Fixes inconsistencies. API now doesn't leak C<FILE *> +Using C<:crlf> and C<UTF-16> IO layers together will now work. -pushing :crlf after :utf8 +Fixed problems with C<split>, Unicode C</\s+/> and C</ \0/>. -[ http://groups.google.com/group/perl.perl5.porters/browse_thread/thread/24f9169bd222c4e6/47fb435abc165e16#47fb435abc165e16 ] +Fixed bug RT #40641 - encoding of Unicode characters in regular expressions. -=item * +Fixed a bug where using certain patterns in a regex led to a panic. +[RT #45337] -Calling CORE::require() +=head2 PerlIO -C<CORE::require> and C<CORE::do> were always parsed as C<require> and C<do> -when they were overridden. This is now fixed. +Inconsistencies have been fixed in the reference counting PerlIO uses to keep +track of Unix file descriptors, and the API used by XS code to manage getting +and releasing C<FILE *>s -=item * +=head2 Magic -Magic +Several bugs have been fixed in Magic, the internal system used to implement +features such as C<tie> and threads sharing. Some of the bitwise ops were not checking whether their arguments were magical before using them. [RT #24816] -Dave's copy fixes. - - [ 26569] - add svt_local slot to magic vtable, and fix local $shared - [ 26735] - document svt_copy, svt_dup and svt_local vtable slots - -http://public.activestate.com/cgi-bin/perlbrowse/p/30232 - -Stopped memory leak on long /etc/groups entries +Magic is no longer invoked twice by the expression C<\&$x> -=item * +=head2 Other fixes -Encoding neutral unpack on numeric types. 23966/27963 +=over =item * -while (my $x ...) { ...; redo } shouldn't undef $x. -In the presence of 'my' in the conditional of a while(), until(), -or for(;;) loop, add an extra scope to the body so that redo -doesn't undef the lexical [24412/27978] +The tokenizer no longer treats =cute (and other words beginning +with =cut) as a synonym for =cut. =item * -strict propagates inside string evals. +Calling CORE::require() -IIRC no warnings 'subclass' works properly now too +C<CORE::require> and C<CORE::do> were always parsed as C<require> and C<do> +when they were overridden. This is now fixed. =item * -=for fixme - -Overloading flags are now stored on the referent instead of the reference. -Previously taking a new, unrelated reference to an object could result in -the original (blessed) reference being able to access the overload while -the new reference could not. (Test added in 32016). +Stopped memory leak on long F</etc/groups> entries. =item * -Reblessing an object from a class that doesn't use overloads to one -that does (or vice versa) is now faster. (31996, 32019, 32025). - - -=item * +C<while (my $x ...) { ...; redo }> shouldn't C<undef $x>. -C<encoding> pragma now correctly ignores anything following an C<@> character in -the C<LC_ALL> and C<LANG> environment variables. (RT # 49646) +In the presence of C<my> in the conditional of a C<while()>, C<until()>, +or C<for(;;)> loop, we now add an extra scope to the body so that C<redo> +doesn't C<undef> the lexical. =item * -Magic is no longer invoked twice by the expression C<\&$x> +The C<encoding> pragma now correctly ignores anything following an C<@> +character in the C<LC_ALL> and C<LANG> environment variables. [RT # 49646] =item * @@ -1393,7 +1379,7 @@ A segfault observed with some gcc 3.3 optimisations is resolved. =item * A possible segfault when L<unpack> used in scalar context with C<()> groups -is resolved. (RT #50256) +is resolved. [RT #50256] =item * @@ -1402,46 +1388,23 @@ a C<system()> call. =item * -Fixed problems with split, unicode /\s+/ and / \0/. - -=item * - Fixed bug RT #37886, unsafe dereferencations were allowed in the argument of C<defined()> even under the influence of C<use strict 'refs'>. =item * -The tokenizer no longer treats =cute (and other words beginning -with =cut) as a synonym for =cut. - -=item * - -Fixed bug RT #43207, where lc()/uc() inside sort affected the return +Fixed bug RT #43207, where C<lc>/C<uc> inside C<sort> affected the return value. =item * -Fixed bug RT #45337, where using certain UTF-8 patterns in a regex led -to a panic. - -=item * - -Fixed bug RT #45607, where *{"BONK"} = \&{"BONK"} didn't work correctly. - -=item * - -The "Unrecognised character 'x'" error now specifies in which column the -unrecognised character actually occurred. +Fixed bug RT #45607, where C<*{"BONK"} = \&{"BONK"}> didn't work correctly. =item * -Fixed bug RT #35878, croaking from a XSUB called via goto &xsub corrupts perl +Fixed bug RT #35878, croaking from a XSUB called via C<goto &xsub> corrupts perl internals. -=item * - -Fix descriptor leak caused by change (30633) to C<PerlIO_exportFILE> (32224) - =item * Fixed bug RT #32539, C<DynaLoader.o> is moved into C<libperl.so> to avoid the need to @@ -1450,32 +1413,39 @@ provides all codes needed to get a functional embedded perl interpreter runs. =item * -Fix bug 36267 so that assigning to a tied hash doesn't change the -underlying hash (27636) +Fix bug RT #36267 so that assigning to a tied hash doesn't change the +underlying hash. =item * Fix bug RT #6006, regex replaces using large replacement variables fail some of -the time, i.e. when substitution contains something like C<${10}> (note the -bracket) instead of just C<$10> (29616 - 29619). +the time, I<i.e.> when substitution contains something like C<${10}> (note the +bracket) instead of just C<$10>. =item * -Fix bug RT #55302, a long existed bug when using C<B::CC> on threaded perl which -uses eval will cause syntax error. +Fix bug RT #45053, newCONSTSUB() is now thread safe. =item * -Fix bug #45053, newCONSTSUB() is now thread safe. +strict propagates inside string evals. + +IIRC no warnings 'subclass' works properly now too =item * -Fix bug #42839 - the unicode swatch cache is now used (the lookup had a key -mismatch). +=for fixme + +Overloading flags are now stored on the referent instead of the reference. +Previously taking a new, unrelated reference to an object could result in +the original (blessed) reference being able to access the overload while +the new reference could not. (Test added in 32016). =item * -Fix bug #40641 - fixed encoding of unicode characters in regular expressions. +Reblessing an object from a class that doesn't use overloads to one +that does (or vice versa) is now faster. (31996, 32019, 32025). + =back @@ -1527,6 +1497,18 @@ may cause segmentation fault. =back +Magic + + +Dave's copy fixes. + + [ 26569] + add svt_local slot to magic vtable, and fix local $shared + [ 26735] + document svt_copy, svt_dup and svt_local vtable slots + +http://public.activestate.com/cgi-bin/perlbrowse/p/30232 + =head3 VMS =over 4 @@ -1741,12 +1723,17 @@ pragma (28903). =head2 Invalid escape in the specified encoding in regex; marked by <-- HERE in m/%s/ New error, introduced as part of the fix to RT #40641 to handle encoding -of unicode characters in regular expression comments. +of Unicode characters in regular expression comments. =head2 FETCHSIZE returned a negative value New error indicating that a tied array has claimed to have a negative -number of elements (31116). +number of elements. + +=for fixme + +The "Unrecognised character 'x'" error now specifies in which column the +unrecognised character actually occurred. =head1 Changed Internals |