This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #77688] tie $scalar can tie a handle
[perl5.git] / pod / perl5113delta.pod
index 5904ec9..5c4e196 100644 (file)
@@ -1,6 +1,6 @@
 =head1 NAME
 
-perldelta - what is new for perl v5.11.3
+perl5113delta - what is new for perl v5.11.3
 
 =head1 DESCRIPTION
 
@@ -13,16 +13,11 @@ the L<perl5112delta>, which describes differences between 5.11.1 and
 
 =head1 Incompatible Changes
 
-=over
-
-=item Filehandles are blessed directly into C<IO::Handle::>, as C<FileHandle> is merely a wrapper around C<IO::Handle>.
+=head2 Filehandles are blessed directly into C<IO::Handle>, as C<FileHandle> is merely a wrapper around C<IO::Handle>.
 
-The previous behaviour was to bless Filehandles into L<FileHandle/>
+The previous behaviour was to bless Filehandles into L<FileHandle>
 (an empty proxy class) if it was loaded into memory and otherwise
-to bless them into C<IO::Handle::>.
-
-
-=back
+to bless them into C<IO::Handle>.
 
 =head1 Core Enhancements
 
@@ -56,7 +51,8 @@ now accepted.
 C<qr/\X/>, which matches a Unicode logical character, has been expanded to work
 better with various Asian languages.  It now is defined as an C<extended
 grapheme cluster>.  (See L<http://www.unicode.org/reports/tr29/>).
-Anything matched by previously will continue to be matched.  But in addition:
+Anything matched previously that made sense will continue to be matched.  But
+in addition:
 
 =over
 
@@ -73,7 +69,9 @@ C<\X> will now match a sequence including the C<ZWJ> and C<ZWNJ> characters.
 C<\X> will now always match at least one character, including an initial mark.
 Marks generally come after a base character, but it is possible in Unicode to
 have them in isolation, and C<\X> will now handle that case, for example at the
-beginning of a line or after a C<ZWSP>.
+beginning of a line or after a C<ZWSP>.  And this is the part where C<\X>
+doesn't match the things that it used to that don't make sense.  Formerly, for
+example, you could have the nonsensical case of an accented LF.
 
 =item *
 
@@ -151,14 +149,17 @@ turned off.  These include all the Unihan properties (which should be
 accessible via the CPAN module Unicode::Unihan) and any deprecated or
 Unicode internal-only property that Perl has never exposed.
 
-XXX what does "files in the To directory" mean? -- dagolden, 2009-12-20
+The generated files in the C<lib/unicore/To> directory are now more
+clearly marked as being stable, directly usable by applications.
+New hash entries in them give the format of the normal entries,
+which allows for easier machine parsing.  Perl can generate files
+in this directory for any property, though most are suppressed.  An
+installation can choose to change which get written.  Instructions
+are in L<perluniprops>.
 
-The files in the C<lib/unicore/To> directory are now more clearly marked as
-being stable, directly usable by applications.  New hash entries in them give
-the format of the normal entries, which allows for easier machine parsing.
-Perl can generate files in this directory for any property, though most are
-suppressed.  An installation can choose to change which get written.
-Instructions are in L<perluniprops>.
+=head2 Regular Expressions
+
+U+0FFFF is now a legal character in regular expressions.
 
 =head1 Modules and Pragmata
 
@@ -210,15 +211,21 @@ Upgraded from version 0.34 to 0.36.
 
 =item C<CPAN>
 
-Upgraded from version 1.94_51 to 1.94_53.  Includes better bzip2 support,
-improved FirstTime experience with auto-selection of CPAN mirrors, proper
-handling of modules removed from the Perl core, and an updated 'cpan'
-utility script
+Upgraded from version 1.94_51 to 1.94_5301, which is 1.94_53 on CPAN
+plus some local fixes for bleadperl.
+
+Includes better bzip2 support, improved FirstTime experience with
+auto-selection of CPAN mirrors, proper handling of modules removed from the
+Perl core, and an updated 'cpan' utility script
 
 =item C<CPANPLUS>
 
 Upgraded from version 0.89_09 to 0.90.
 
+=item C<Encode>
+
+Upgraded from version 2.38 to 2.39.
+
 =item C<ExtUtils::MakeMaker>
 
 Upgraded from version 6.55_02 to 6.56.  Adds new BUILD_REQUIRES key to
@@ -243,8 +250,8 @@ Upgraded from version 2.23 to 2.24.
 
 =item C<POSIX>
 
-Upgraded from version 1.18 to 1.19. Error codes for C<getaddrinfo()> and C<getnameinfo()> are now
-available.
+Upgraded from version 1.18 to 1.19. Error codes for C<getaddrinfo()> and
+C<getnameinfo()> are now available.
 
 =item C<Pod::Simple>
 
@@ -281,18 +288,6 @@ conditional loading of modules despite the implicit BEGIN block around C<use>.
 
 =head1 Installation and Configuration Improvements
 
-XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
-go here.
-
-=head2 Configuration improvements
-
-XXX
-
-=head2 Compilation improvements
-
-    Make distclean work again
-XXX
-
 =head2 Testing improvements
 
 =over 4
@@ -311,7 +306,7 @@ XXX
 
 =item *
 
-Always add a manifest resource to C<perl.exe> to specify the <trustInfo>
+Always add a manifest resource to C<perl.exe> to specify the C<trustInfo>
 settings for Windows Vista and later.  Without this setting Windows
 will treat C<perl.exe> as a legacy application and apply various
 heuristics like redirecting access to protected file system areas
@@ -355,10 +350,6 @@ no in answer to the interactive question.
 
 =head1 Selected Bug Fixes
 
-XXX Important bug fixes in the core language are summarised here.
-Bug fixes in files in F<ext/> and F<lib/> are best summarised in
-L</Modules and Pragmata>.
-
 =over 4
 
 =item *
@@ -397,12 +388,13 @@ device and printers like "lpt1".
 
 =item *
 
-Fixed a regression caused by commit fafafbaf which caused a panic during parameter passing [perl #70171]
-
+Fixed a regression caused by commit fafafbaf which caused a panic during
+parameter passing [perl #70171]
 
 =item *
 
-On systems which in-place edits without backup files, -i'*' now works as the documentation says it does [perl #70802]
+On systems which in-place edits without backup files, -i'*' now works as
+the documentation says it does [perl #70802]
 
 =item *
 
@@ -429,12 +421,17 @@ Numerous bugfixes catch small issues caused by the recently-added Lexer API.
 
 =item *
 
-Smart match against C<@_> sometimes gave false negatives negatives. [perl #71078]
+Smart match against C<@_> sometimes gave false negatives. [perl #71078]
 
 =item *
 
 C<$@> may now be assigned a read-only value (without error or busting the stack).
 
+=item *
+
+C<sort> called recursively from within an active comparison subroutine no
+longer causes a bus error if run multiple times. [perl #71076]
+
 =back
 
 =head1 New or Changed Diagnostics
@@ -445,11 +442,10 @@ C<$@> may now be assigned a read-only value (without error or busting the stack)
 
 C<split> now warns when called in void context
 
-
 =item *
 
-C<printf>-style functions called with too few arguments will now issue the warning C<"Missing argument in %s"> [perl #71000] 
-
+C<printf>-style functions called with too few arguments will now issue the
+warning C<"Missing argument in %s"> [perl #71000]
 
 =back
 
@@ -505,8 +501,23 @@ problems in the implementation of scopes.
 
 =head1 Acknowledgements
 
-XXX The list of people to thank goes here.
+Perl 5.11.3 represents approximately one month of development since
+Perl 5.11.2 and contains 61407 lines of changes across 396 files
+from 40 authors and committers:
 
+Abigail, Alex Davies, Alexandr Ciornii, Andrew Rodland, Andy
+Dougherty, Bram, brian d foy, Chip Salzenberg, Chris Williams, Craig
+A. Berry, Daniel Frederick Crisman, David Golden, Dennis Kaarsemaker,
+Eric Brine, Father Chrysostomos, Gene Sullivan, Gerard Goossen, H.
+Merijn Brand, Hugo van der Sanden, Jan Dubois, Jerry D. Hedden,
+Jesse Vincent, Jim Cromie, Karl Williamson, Leon Brocard, Max
+Maischein, Michael Breen, Moritz Lenz, Nicholas Clark, Rafael
+Garcia-Suarez, Reini Urban, Ricardo Signes, Stepan Kasal, Steve
+Hay, Steve Peters, Tim Bunce, Tony Cook, Vincent Pit and Zefram.
+
+Many of the changes included in this version originated in the CPAN
+modules included in Perl's core. We're grateful to the entire CPAN
+community for helping Perl to flourish.
 
 =head1 Reporting Bugs
 
@@ -545,38 +556,3 @@ The F<Artistic> and F<Copying> files for copyright information.
 =cut
 
 
-
-
-All changes through commit b4178430270dbe109e7609d0b50d6d54bf9e95d8
-One "triage" pass done.
-
-A second triage pass is still needed to remove unimportant changes
-
-commit 9307c420fad2f6f5bd314f9ed66dd53288703e09
-Author: Jan Dubois <jand@activestate.com>
-Date:   Thu Dec 17 18:28:16 2009 -0800
-
-    Export PL_curinterp symbol for MULTIPLICITY without USE_ITHREADS
-
-    This is necessary for XS extensions that define PERL_CORE.  In that
-    situation PERL_GET_CONTEXT will resolve to PL_curinterp, which is
-    normally not exported (extensions call Perl_Gcurinterp_ptr() to get a
-    pointer to PL_curinterp instead). With USE_ITHREADS defined
-    PERL_GET_CONTEXT will expand to Perl_get_context() even inside the
-    core because the context needs to be fetched from threadlocal storage.
-
-commit 8a27a13e89107aaf68c0748b68ee71fbd86d774b
-
-    [perl #71076] sort with active sub (5.10 regression)
-
-    One of the tests in sort.t causes a bus error (or sometimes Ã¢\80\98Undefined
-    subroutine calledâ\80\99) if run multiple times. This is because sort
-    decreases the refcount of an active sub used as a comparison routine.
-
-commit 576b33a19ccaf98d4dfe201d529c55c3747f0cb6
-
-    [rt.cpan.org #51574] Safe.pm sort {} bug accessing $a and $b with -Dusethreads
-
-commit ee6ba15dedda3e88eb66891eaf387c00a4c0a2fb
-
-    Fix -DPERL_NO_UTF16_FILTER