diff options
author | Father Chrysostomos <sprout@cpan.org> | 2011-06-16 20:15:50 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2011-06-16 20:18:12 -0700 |
commit | da507230e19b6f76be29531ca34878bcfe86cfb0 (patch) | |
tree | b432545f69644af2daf1f405ccbcd7b438b3cce0 | |
parent | 3ed94dc04bd73c956fbfa66348a55f94c8a2268b (diff) | |
download | perl-da507230e19b6f76be29531ca34878bcfe86cfb0.tar.gz |
perldelta update + typo fixes
-rw-r--r-- | pod/perldelta.pod | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/pod/perldelta.pod b/pod/perldelta.pod index cbb1bfc7b3..e2e35ae5ca 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -8,7 +8,7 @@ XXX needs to be processed before release. ] perldelta - what is new for perl v5.15.0 =for comment -This has been completed up to 571f0e8. +This has been completed up to 3ed94dc04. =head1 DESCRIPTION @@ -115,8 +115,9 @@ deleted entirely. Previously, if one embeds Perl or uses XS and calls fork(3) from C, Perls notion of C<$$> could go out of sync with what getpid() returns. By always fetching the value of C<$$> via getpid(), this potential bug is eliminated. -Code that depends on the caching behavior will break. As describe in L</Core -Enhancements>, C<$$> is now writeable, but it will be reset during a fork. +Code that depends on the caching behavior will break. As described in +L</Core Enhancements>, C<$$> is now writable, but it will be reset during a +fork. =head1 Deprecations @@ -1078,6 +1079,12 @@ more general fix has been applied [RT #23790]. =item * +When called in pass-by-reference context, lvalue subroutines used to copy +any read-only value that were returned. E.g., C< sub :lvalue { $] } > +would not return C<$]>, but a copy of it. + +=item * + Assignment to C<keys> returned from an lvalue sub used not to work, but now it does. @@ -1207,6 +1214,14 @@ Attempting to C<goto> out of a tied handle method used to cause memory corruption or crashes. Now it produces an error message instead [RT #8611]. +=item * + +Perl skips copying values returned from a subroutine if it thinks the value +is not in use elsewhere. Due to faulty logic, this would happen with the +result of C<delete>, C<shift> or C<splice>, even if the result was +referenced elsewhere. So C<< \sub { delete $_[0] }->($x) >> would return a +reference to C<$x>. This has been fixed [RT #81944]. + =back =head2 Additional fixes by ticket number |