From d200626516823df5560289ae997a71aa97108896 Mon Sep 17 00:00:00 2001 From: Father Chrysostomos Date: Thu, 25 Aug 2011 00:23:48 -0700 Subject: [PATCH] perldelat update --- pod/perldelta.pod | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 77 insertions(+), 1 deletion(-) diff --git a/pod/perldelta.pod b/pod/perldelta.pod index c881cb1..8224fd1 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -1,5 +1,8 @@ =encoding utf8 +=for comment +This has been completed up to 527d644b124fe. + =head1 NAME [ this is a template for a new perldelta file. Any text flagged as @@ -28,6 +31,18 @@ here, but most should go in the L section. [ List each enhancement as a =head2 entry ] +=head2 More CORE subs are callable through references + +Perl 5.15., introduced subroutines in the CORE namespace. Most of them +could only be called as barewords; i.e., they could be aliased at compile +time and then inlined under new names. + +Many more of these functions can now be called through references and via +C<&foo()> syntax, bypassing the prototype. + +XXX This is too vague, but the exact list of them will likely change before +5.15.3. It's currently functions whose prototypes match /^[\$_]+;?\z/. + =head1 Security XXX Any security-related notices go here. In particular, any security @@ -112,6 +127,13 @@ Resolved an issue where C executable was present in C on MSWin32 =item * +L has been upgraded from version 1.24 to 1.25. + +It now strips out C<...>> formatting codes before displaying +descriptions [perl #94488]. + +=item * + L has been upgraded from version 0.2602 to 0.2603. C on a Math::BigRat object containing -1/2 now creates a @@ -272,6 +294,10 @@ F is not needed on most *nix platforms, but is for Win32, hence previously was it was possible to inadvertently commit changes that worked perfectly locally, but broke the build on Win32. +=item * + +F has been added to test the C function. + =back =head1 Platform Support @@ -351,7 +377,57 @@ L. =item * -XXX +In Perl 5.15.0 C stopped returning true if the C<$$> +variable had not been used yet. This has been fixed. + +=item * + +Perl 5.10.0 introduced a similar bug: C where "foo" +represents the name of a built-in global variable used to return false if +the variable had never been used before, but only on the I call. +This, too, has been fixed. + +=item * + +Various functions that take a filehandle argument in rvalue context +(C, C, etc.) used to call C multiple times, if it +was a tied variable, and warn twice, if it was C [perl #97482]. + +=item * + +C and similar filehandle functions, when called on built-in global +variables (like C<$+>), used to die if the variable happened to hold the +undefined value, instead of producing the usual "Use of uninitialized +value" warning. + +=item * + +When autovivified file handles were introduced in Perl 5.6.0, C +was inadvertently made to autovivify when called as C (but +not as C<< <$foo> >>). It has now been fixed never to autovivify. + +=item * + +C used to call C multiple times, but +now calls it just once. + +=item * + +Some cases of dereferencing a complex expression, such as +C<${ (), $tied } = 1>, used to call C multiple times, but now call +it once. + +=item * + +For a tied variable returning a package name, C<< $tied->method >> used to +call C multiple times (even up to six!), and sometimes would +fail to call the method, due to memory corruption. + +=item * + +Calling an undefined anonymous subroutine (e.g., what $x holds after +C) used to cause a "Not a CODE reference" error, which +has been corrected to "Undefined subroutine called" [perl #71154]. =back -- 2.7.4