In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/7360c6b444ea6e19b6583f9530f845bee19c7921?hp=54356a6f6c5b66c92d16521d060160496e44de3c>
- Log ----------------------------------------------------------------- commit 7360c6b444ea6e19b6583f9530f845bee19c7921 Author: Jesse Vincent <[email protected]> Date: Tue Oct 20 11:31:09 2009 -0400 Acknowledgments in perldelta M pod/perl5111delta.pod commit 79801d6ac59045965b41a87283d56e77c8274991 Author: Jesse Vincent <[email protected]> Date: Tue Oct 20 11:17:55 2009 -0400 perldelta formatting M pod/perl5111delta.pod commit 32619a1dcb5d3caacc6c7637f7e699486a5a588f Author: Jesse Vincent <[email protected]> Date: Tue Oct 20 11:10:54 2009 -0400 perl5111delta now includes all changes between 5.11.0 and 5.11.1 and has been lightly copyedited M pod/perl5111delta.pod commit efbe0a448e7c3a04e2524159eccea82fe26f4be1 Author: Jesse Vincent <[email protected]> Date: Tue Oct 20 11:03:10 2009 -0400 perldelta cleanup M pod/perl5111delta.pod ----------------------------------------------------------------------- Summary of changes: pod/perl5111delta.pod | 226 +++++++++++++++++++++++++++++++------------------ 1 files changed, 143 insertions(+), 83 deletions(-) diff --git a/pod/perl5111delta.pod b/pod/perl5111delta.pod index 6eb6d9d..17d0d0c 100644 --- a/pod/perl5111delta.pod +++ b/pod/perl5111delta.pod @@ -11,9 +11,13 @@ the 5.11.1 release. =over -=item The boolkeys op moved to the group of hash ops. This breaks binary compatibility. +=item * -=item C<\s> C<\w> and C<\d> once again have the semantics they had in Perl 5.8.x. +The boolkeys op moved to the group of hash ops. This breaks binary compatibility. + +=item * + +C<\s> C<\w> and C<\d> once again have the semantics they had in Perl 5.8.x. =back @@ -22,60 +26,49 @@ the 5.11.1 release. =head2 Add C<package NAME VERSION> syntax - This patch adds support for setting the $VERSION of a namespace - when the namespace is declared with 'package'. It eliminates the - need for 'our $VERSION = ...' and similar constructs. E.g. +This new syntax allows a module author to set the $VERSION of a namespace +when the namespace is declared with 'package'. It eliminates the need +for C<our $VERSION = ...> and similar constructs. E.g. package Foo::Bar 1.23; # $Foo::Bar::VERSION == 1.23 - There are several advantages to this: +There are several advantages to this: + +=over + +=item * - * VERSION is parsed in *exactly* the same way as 'use NAME VERSION' +C<$VERSION> is parsed in I<exactly> the same way as C<use NAME VERSION> - * $VERSION is set at compile time +=item * - * Eliminates '$VERSION = ...' and 'eval $VERSION' clutter +C<$VERSION> is set at compile time - * As it requires VERSION to be a numeric literal or v-string - literal, it can be statically parsed by toolchain modules - without 'eval' the way MM->parse_version does for '$VERSION = ...' +=item * - * Alpha versions with underscores do not need to be quoted; static - parsing will preserve the underscore, but during compilation, Perl - will remove underscores as it does for all numeric literals +Eliminates C<$VERSION = ...> and C<eval $VERSION> clutter - During development of this, there was discussion on #corehackers and - elsewhere that this should also allow other metadata to be set such as - "status" (stable/alpha) or "author/authority". On reflection, those - metadata are not very well defined yet and likely should never be - encoded into Perl core parsing so they can be freely changed in the - future. (They could perhaps be achieved via a comment on the same line - as 'package NAME VERSION'.) +=item * - Version numbers, however, already have a very specific definition and - use defined in the core through 'use NAME VERSION'. This patch merely - provides appropriate symmetry for setting $VERSION with the exact same - parsing and semantics as 'use'. +As it requires VERSION to be a numeric literal or v-string +literal, it can be statically parsed by toolchain modules +without C<eval> the way MM-E<gt>parse_version does for C<$VERSION = ...> - It does not break old code with only 'package NAME', but code that - uses 'package NAME VERSION' will need to be restricted to perl 5.11.X. - This is analogous to the change to open() from two-args to three-args. - Users requiring the latest Perl will benefit, and perhaps N years from - now it will become standard practice when Perl 5.12 is targeted the - way that 5.6 is today. +=item * - The patch does not prevent 'package NAME VERSION' from being used - multiple times for the same package with different version numbers, but - nothing prevents $VERSION from being modified arbitrarily at runtime, - either, so I see no urgen reason to add limitations or warnings so - long as Perl uses a global $VERSION variable for package version - numbers. +Alpha versions with underscores do not need to be quoted; static +parsing will preserve the underscore, but during compilation, Perl +will remove underscores as it does for all numeric literals - I am posting this patch to the p5p list for discussion and review. If - there seems to be general assent (or lack of dissent), I will go ahead - and commit the patch to blead. +It does not break old code with only 'package NAME', but code that uses +'package NAME VERSION' will need to be restricted to perl 5.11.X or newer +This is analogous to the change to open() from two-args to three-args. +Users requiring the latest Perl will benefit, and perhaps N years from +now it will become standard practice when Perl 5.12 is targeted the way +that 5.6 is today. +=back =head1 Modules and Pragmata @@ -83,31 +76,57 @@ the 5.11.1 release. =over 4 -=item Upgrade to Test-Simple-0.94 +=item * + +Upgrade to Test-Simple 0.94 + +=item * + +Upgrade to Storable 2.21 + +=item * + +Upgrade to Pod-Simple 3.08 + +=item * -=item Upgrade to Storable-2.21 +Upgrade to Parse-CPAN-Meta 1.40 -=item Upgrade to Pod-Simple-3.08 +=item * -=item Upgrade to Parse-CPAN-Meta-1.40 +Upgrade to ExtUtils-Manifest 1.57 -=item Upgrade to ExtUtils-Manifest-1.57 +=item * -=item Upgrade to ExtUtils-CBuilder-0.260301 +Upgrade to ExtUtils-CBuilder 0.260301 -=item Upgrade to CGI.pm-3.48 +=item * -=item Update CPANPLUS to CPAN version 0.89_02 +Upgrade to CGI.pm-3.48 -=item Upgrade to threads::shared 1.32 +=item * -=item Update ExtUtils::ParseXS to 2.21 +Upgrade CPANPLUS to CPAN version 0.89_02 -=item Upgrade File::Path to 2.08 (and add taint.t test) +=item * -=item Upgrade Module::CoreList to 2.20 +Upgrade to threads::shared 1.32 -=item Updated Object-Accessor to CPAN version 0.36 +=item * + +Upgrade ExtUtils::ParseXS to 2.21 + +=item * + +Upgrade File::Path to 2.08 (and add taint.t test) + +=item * + +Upgrade Module::CoreList to 2.20 + +=item * + +Updated Object::Accessor to0.36 =back @@ -135,12 +154,7 @@ the 5.11.1 release. =back -=head1 Installation and Configuration Improvements - -XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools -go here. - -=head2 Platform Specific Changes +=head1 Platform Specific Notes =over 4 @@ -148,10 +162,14 @@ go here. =over 4 -=item Skip testing the be_BY.CP1131 locale on Darwin 10 (Mac OS X 10.6), +=item * + +Skip testing the be_BY.CP1131 locale on Darwin 10 (Mac OS X 10.6), as it's still buggy. -=item Correct infelicities in the regexp used to identify buggy locales +=item * + +Correct infelicities in the regexp used to identify buggy locales on Darwin 8 and 9 (Mac OS X 10.4 and 10.5, respectively). =back @@ -160,7 +178,9 @@ on Darwin 8 and 9 (Mac OS X 10.4 and 10.5, respectively). =over 4 -=item Fix thread library selection [perl #69686] +=item * + +Fix thread library selection [perl #69686] =back @@ -168,7 +188,13 @@ on Darwin 8 and 9 (Mac OS X 10.4 and 10.5, respectively). =over 4 -=item Initial support for mingw64 is now available +=item * + +Initial support for mingw64 is now available + +=item * + +Various bits of Perl's build infrastructure are no longer converted to win32 line endings at release time. If this hurts you, please speak up. =back @@ -179,18 +205,28 @@ on Darwin 8 and 9 (Mac OS X 10.4 and 10.5, respectively). =over 4 -=item Perl now properly returns a syntax error instead of segfaulting +=item * + +Perl now properly returns a syntax error instead of segfaulting if C<each>, C<keys> or C<values> is used without an argument -=item C<tell()> now fails properly if called without an argument and when no previous file was read +=item * + +C<tell()> now fails properly if called without an argument and when no previous file was read C<tell()> now returns C<-1>, and sets errno to C<EBADF>, thus restoring the 5.8.x behaviour -=item overload no longer implicitly unsets fallback on repeated 'use overload' lines +=item * -=item POSIX::strftime() can now handle Unicode characters in the format string. +overload no longer implicitly unsets fallback on repeated 'use overload' lines -=item The Windows select() implementation now supports all empty C<fd_set>s more correctly. +=item * + +POSIX::strftime() can now handle Unicode characters in the format string. + +=item * + +The Windows select() implementation now supports all empty C<fd_set>s more correctly. =back @@ -199,16 +235,24 @@ C<tell()> now returns C<-1>, and sets errno to C<EBADF>, thus restoring the 5.8. =over 4 -=item The 'syntax' category was removed from 5 warnings that should only be in 'deprecated'. +=item * + +The 'syntax' category was removed from 5 warnings that should only be in 'deprecated'. + +=item * + +Three fatal pack/unpack error messages have been normalized to "panic: %s" -=item Three fatal pack/unpack error messages have been normalized to "panic: %s" +=item * -=item "Unicode character is illegal" has been rephrased to be more accurate +"Unicode character is illegal" has been rephrased to be more accurate It now reads C<Unicode non-character is illegal in interchange> and the perldiag documentation has been expanded a bit. -=item Perl now defaults to issuing a warning if a deprecated language feature is used. +=item * + +Perl now defaults to issuing a warning if a deprecated language feature is used. To disable this feature in a given lexical scope, you should use C<no warnings 'deprecated';> For information about which language features @@ -221,14 +265,24 @@ see L<perldiag.pod> =over 4 -=item Significant cleanups to core tests to ensure that language and +=item * + +Significant cleanups to core tests to ensure that language and interpreter features are not used before they're tested. -=item F<t/porting/podcheck.t> automatically checks the well-formedness of +=item * + +C<make test_porting> now runs a number of important pre-commit checks which might be of use to anyone working on the Perl core. + +=item * + +F<t/porting/podcheck.t> automatically checks the well-formedness of POD found in all .pl, .pm and .pod files in the F<MANIFEST>, other than in dual-lifed modules which are primarily maintained outside the Perl core. -=item F<t/porting/manifest.t> now tests that all files listed in MANIFEST are present. +=item * + +F<t/porting/manifest.t> now tests that all files listed in MANIFEST are present. =back @@ -247,7 +301,7 @@ With luck, that'll be sorted out for 5.11.2 =back -=head1 Errata +=head1 Errata for 5.11.0 =over @@ -257,8 +311,19 @@ With luck, that'll be sorted out for 5.11.2 =head1 Acknowledgements -XXX The list of people to thank goes here. +Perl 5.11.1 represents approximately 3 weeks development since Perl 5.11.0 +contains 22,000 lines of changes across 396 files from 26 authors and committers: +Abigail, Alex Vandiver, brian d foy, Chris Williams, Craig A. Berry, +David Fifield, David Golden, demerphq, Eric Brine, Geoffrey T. Dairiki, +George Greer, H.Merijn Brand, Jan Dubois, Jerry D. Hedden, Jesse Vincent, +Josh ben Jore, Max Maischein, Nicholas Clark, Rafael Garcia-Suarez, +Simon Schubert, Sisyphus, Smylers, Steve Hay, Steve Peters, Vincent Pit +and Yves Orton. + +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 @@ -295,8 +360,3 @@ The F<README> file for general stuff. The F<Artistic> and F<Copying> files for copyright information. =cut - -This is all changes through 6609e0408cfa30e0d5c739e4c818f8591c88c0bc - - - -- Perl5 Master Repository
