In perl.git, the branch maint-5.10 has been updated <http://perl5.git.perl.org/perl.git/commitdiff/f8fb22b8f7eb04905e754c2df5763c6f78e2c60e?hp=8ef7ab02574b3ad1086cb7dbfbde9285b155b723>
- Log ----------------------------------------------------------------- commit f8fb22b8f7eb04905e754c2df5763c6f78e2c60e Author: Nicholas Clark <[email protected]> Date: Tue Jun 23 23:20:32 2009 +0100 Note that perlapi, perlintern, perlmodlib and perltoc are now auto-generated. M pod/perl5101delta.pod commit b16b96dd59fc2c1bfaee40e832bb8fd826b9e4a7 Author: Nicholas Clark <[email protected]> Date: Tue Jun 23 23:17:23 2009 +0100 Add perldelta entries for changes that I'd tagged as "internals". M pod/perl5101delta.pod commit 4136c1b9bf245f3528d8a7007300ea4200a28ceb Author: Nicholas Clark <[email protected]> Date: Tue Jun 23 22:53:10 2009 +0100 Remove superfluous blank lines. M pod/perl5101delta.pod commit 690281f0adc517911ea3a0bd79de84b40aa76226 Author: Nicholas Clark <[email protected]> Date: Tue Jun 23 22:44:08 2009 +0100 Add perldelta entries for changes that I'd tagged as "documentation". M pod/perl5101delta.pod commit 61495c85301c007f731a05ee33bf4ee7e6bf2f8c Author: Nicholas Clark <[email protected]> Date: Tue Jun 23 21:54:50 2009 +0100 Add perldelta entries for changes that I'd tagged as "diagnostics". M pod/perl5101delta.pod commit dd2e495e4d704d15195e689b207c45303e2770ab Author: Nicholas Clark <[email protected]> Date: Tue Jun 23 21:50:51 2009 +0100 Add perldelta entries for changes that I'd tagged as "config/install". M pod/perl5101delta.pod ----------------------------------------------------------------------- Summary of changes: pod/perl5101delta.pod | 68 +++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 61 insertions(+), 7 deletions(-) diff --git a/pod/perl5101delta.pod b/pod/perl5101delta.pod index eea620e..c46f4f7 100644 --- a/pod/perl5101delta.pod +++ b/pod/perl5101delta.pod @@ -103,7 +103,6 @@ for smart match mostly need to worry only with comparing against a scalar, and possibly with stringification overloading; the other common cases will be automatically handled consistently. - C<~~> will now refuse to work on objects that do not overload it (in order to avoid relying on the object's underlying structure). @@ -160,10 +159,8 @@ in a change of behaviour between 5.8.x and 5.10.0: # matches in 5.8.x, doesn't match in 5.10.0 $re = qr/^bar/; "foo\nbar" =~ /$re/m; - =back - =head1 Core Enhancements =head2 Unicode Character Database 5.1.0 @@ -183,6 +180,7 @@ point update this entry (b2685f0c86 2008/12/27) This pragma allows you to lexically disable or enable overloading for some or all operations. (Yuval Kogman) +XXX do we now have dtrace? =head1 Modules and Pragmata @@ -202,7 +200,6 @@ See L</"The C<overloading> pragma"> above. =back - =head2 New Modules =over @@ -331,7 +328,6 @@ C<ExtUtils::Install> upgraded from version 1.44 to 1.52 C<ExtUtils::MakeMaker> upgraded from version 6.42 to 6.50 - =item * C<ExtUtils::Manifest> upgraded from version 1.51_01 to 1.56 @@ -541,7 +537,6 @@ C<Win32API::File> upgraded from version 0.1001_01 to 0.1101 Now looks in C<include-fixed> too, which is a recent addition to gcc's search path. - =head2 F<h2xs> No longer incorrectly treats enum values like macros. @@ -556,11 +551,20 @@ reference to perl programs. L<perlrepository> describes how to access the perl source using git. +=head1 Changes to Existing Documentation + The various large C<Changes*> files (which listed every change made to perl over the last 18 years) have been removed, and replaced by a small file, also called C<Changes>, which just explains how that same information may be extracted from the git version control system. +The file F<Porting/patching.pod> has been deleted, as it mainly described +interacting with the old Perforce-based repository, which is now obsolete. +Information still relevant has been moved to L<perlrepository>. + +L<perlapi>, L<perlintern>, L<perlmodlib> and L<perltoc> are now all generated +at build time, rather than being shipped as part of the release. + =head1 Performance Enhancements =over @@ -587,6 +591,19 @@ C<@INC> once. C<$Config{usedevel}> and the C-level C<PERL_USE_DEVEL> are now defined if perl is built with C<-Dusedevel>. +F<Configure> will enable use of C<-fstack-protector>, to provide protection +against stack-smashing attacks, if the compiler supports it. + +F<Configure> will now determine the correct prototypes for re-entrant functions, +and for C<gconvert>, if you are using a C++ compiler rather than a C compiler. + +XXX This description isn't quite right, is it? Yves? + +On Unix, if you build from a git tree, the configuration process will +note the commit hash you have checked out, for display in the output of +C<perl -v> and C<perl -V>. Unpushed local commits are automatically added to +the list of local patches displayed by C<perl -V> + =head2 Compilation improvements =head2 Installation improvements. @@ -746,7 +763,6 @@ spurious warning like the following: On windows, C<'.\foo'> and C<'..\foo'> were treated differently than C<'./foo'> and C<'../foo'> by C<do> and C<require> [RT #63492]. - =item * Assigning a format to a glob could corrupt the format; e.g.: @@ -840,12 +856,27 @@ This warning has been removed. In general, it only got produced in conjunction with other warnings, and removing it allowed an isa lookup optimisation to be added. +=head2 v-string in use/require is non-portable + +This warning has been removed. + +=item Deep recursion on subroutine "%s" + +It is now possible to change the depth threshold for this warning from the +default of 100, by recompiling the F<perl> binary, setting the C pre-processor +macro C<PERL_SUB_DEPTH_WARN> to the desired value. + =head1 Changed Internals =over =item * +The J.R.R. Tolkien quotes at the head of C source file have been checked and +proper citations added, thanks to a patch from Tom Christiansen. + +=item * + C<vcroak()> now accepts a null first argument. A full audit was made of the "not NULL" compiler annotations, and those for several other internal functions were corrected. @@ -906,6 +937,26 @@ The B<public> IV and NV flags are now not set if the string value has trailing "garbage". This behaviour is consistent with not setting the public IV or NV flags if the value is out of range for the type. +=item * + +SV allocation tracing has been added to the diagnostics enabled by C<-Dm>. +The tracing can alternatively output via the C<PERL_MEM_LOG> mechanism, if that +was enabled when the F<perl> binary was compiled. + +=item * + +Uses of C<Nullav>, C<Nullcv>, C<Nullhv>, C<Nullop>, C<Nullsv> etc have been +replaced by C<NULL> in the core code, and non-dual-life modules, as C<NULL> +is clearer to those unfamilar with the core code. + +=item * + +A macro C<MUTABLE_PTR(p)> has been added, which on (non-pedantic) gcc will not +cast away C<const>, returning a C<void *>. Macros C<MUTABLE_SV(av)>, +C<MUTABLE_SV(cv)> etc build on this, casting to C<AV *> etc without casting +away C<const>. This allows proper compile-time auditing of C<const> correctness +in the core, and helped picked up some errors (now fixed). + =back =head1 Known Problems @@ -964,3 +1015,6 @@ The F<README> file for general stuff. The F<Artistic> and F<Copying> files for copyright information. =cut + +XXX Don't know where to put a description of F<Porting/expand-macro.pl> +But I think it should get a mention. -- Perl5 Master Repository
