Further perldelta scrubbing
Jesse Vincent [Wed, 30 Sep 2009 13:41:25 +0000 (22:41 +0900)]
pod/perl5110delta.pod

index 612a6f0..bddb9f1 100644 (file)
@@ -257,6 +257,24 @@ in a change of behaviour between 5.8.x and 5.10.0:
 
 C<length undef> now returns undef.
 
+=item *
+
+Unsupported private C API functions are now declared "static" to prevent
+leakage to Perl's public API
+
+=item *
+
+F<miniperl> no longer builds with UTF-8 support in the regexp engine to support the bootstrapping process
+    
+This allows a build to complete with PERL_UNICODE set and a UTF-8 locale.
+Without this there's a bootstrapping problem, as miniperl can't load the UTF-8
+components of the regexp engine, because they're not yet built.
+
+=item *
+
+F<miniperl>'s @INC is now restricted to just -I..., the split of $ENV{PERL5LIB}, and "."
+
+
 =back
 
 =head1 Core Enhancements
@@ -348,10 +366,25 @@ on how to specify C<configure_requires> when creating a distribution for CPAN.
 
 =head2 // now behaves like || in when clauses
 
-=head2 You can now set C<-W> from the C<PERL5OPT> environment varialbe
+=head2 You can now set C<-W> from the C<PERL5OPT> environment variable
+
+=head2 Add support for Abstract namespace sockets
+    
+Abstract namespace sockets are Linux-specific socket type that live in
+AF_UNIX family, slightly abusing it to be able to use arbitrary
+character arrays as addresses: They start with nul byte and are not
+terminated by nul byte, but with the length passed to the socket()
+system call.
+    
+
 
 =head1 Modules and Pragmata
 
+=head2 Dual-lifed modules moved
+
+Dual-lifed modules maintained primarily in the Perl core now live in ext/.
+Dual-lifed modules maintained primarily on CPAN now live in cpan/
+
 =head2 New Modules and Pragmata
 
 =over 4
@@ -1193,6 +1226,8 @@ pod/perlthrtut.pod is the same material reworked for ithreads.
 With version objects, we need them to use MODULE VERSION syntax.  This
 patch removes the deprecation note.
 
+=head2 Added security contact information to L<perlsec>
+
 =head1 Performance Enhancements
 
 =over 4
@@ -1645,6 +1680,10 @@ or cause the following assertion failure [RT #60508]:
 
     Assertion rx->sublen >= (s - rx->subbeg) + i failed
 
+=item *
+
+Previously missing files from Unicode 5.1 Character Database are now included.
+
 =back
 
 =head1 New or Changed Diagnostics
@@ -1781,6 +1820,12 @@ that was enabled when the F<perl> binary was compiled.
 Smartmatch resolution tracing has been added as a new diagnostic. Use C<-DM> to
 enable it.
 
+
+=item *
+
+A new debugging flag C<-DB> now dumps subroutine definitions, leaving
+C<-Dx> for its original purpose of dumping syntax trees.
+
 =item *
 
 Uses of C<Nullav>, C<Nullcv>, C<Nullhv>, C<Nullop>, C<Nullsv> etc have been
@@ -2402,109 +2447,6 @@ were only for one or the other.)
 This doesn't contradict the documentation, as there isn't any. Oops.
 
 
-=head2 Give G_VOID, G_SCALAR and G_ARRAY the same numeric values as OPf_WANT_VOID, OPf_WANT_SCALAR and OPf_WANT_LIST.
-
-
-=head2 Squeeze the context type down to 4 bits, and move the private flags to fit within the next 4 bits.
-
-
-=head2 In struct block change blku_type from U8 to U16, and the "spare" U8 to U16, with the lockstep changes in struct subst. 
-Eliminate lval from
-struct block_sub, and instead store it in the U16 in struct block.
-
-
-=head2 In struct block_eval, eliminate old_in_eval and old_op_type by storing the data in blk_u16.
-
-
-=head2 The layout for struct block_loop under ithreads can be simplified.
-
-Instead of wedging the pad offset into a void* iterdata, and always
-storing PL_comppad even when it isn't used, instead do this:
-
-    PAD *oldcomppad; /* Also used for the GV, if targoffset is 0 */
-    /* This is also accessible via cx->blk_loop.my_op->op_targ */
-    PADOFFSET  targoffset;
-
-and store the GV pointer in oldcompad. Pointers to pointers seems
-cleaner. This also allows us to eliminate the flag bit CXp_PADVAR.
-
-
-=head2 In XS_PerlIO_get_layers() take advantage of the implementation of
-
-In XS_PerlIO_get_layers() take advantage of the implementation of
-PerlIO_get_layers(), by co-opting the new SVs it creates, rather than
-copying them.
-
-
-=head2 Micro-optimise the order of the context types. [Because I can :-)]
-
-=head2 [patch] optimize OP_IS_(FILETEST|SOCKET) macros
-
-=head2 Eliminate ck_lengthconst.
-
-=head2 Chainsaw DEBUG_S out, as suggested by Vincent Pit.
-
-=head2 Unsupported private API functions are now declared "static" to prevent leakage to the public API
-
-=head2 Perl_cv_ckproto() is not part of the public API, and not used anywhere. It has been removed
-
-=head2 Remove all the 5005threads specific mutex macros, which are now vestigial.
-
-=head2 Do not honor TMPDIR for anonymous temporary files when tainting
-
-Use a default of /tmp on Unixes when TMPDIR is unset or empty, or
-when creation of a temporary file in it fails
-
-=head2 Add a pluggable hook in op_free()
-
-
-
-
-=head2 Dual-lifed modules moved
-
-Dual-lifed modules maintained primarily in the Perl core now live in ext/.
-Dual-lifed modules maintained primarily on CPAN now live in cpan/
-
-=head2 MAD now builds on C++
-
-    Fix building MAD with C++ - a MAD_PV of "" is illegal, as it will be free()d.
-
-commit 4e73d6a402bc493d66d19c409c41e1e271c6450b
-Author: Nicholas Clark <nick@ccl4.org>
-Date:   Wed Sep 23 11:59:31 2009 +0100
-
-    Add a --chdir option to configpm, and use this in the Win32 Makfiles.
-    
-    A slight Makefile simplification, and another move towards Win32 standardising
-    on running miniperl as $(MINIPERL), which currently is ..\miniperl.exe
-
-
-=head2 miniperl no longer builds with UTF-8 support in the regexp engine to support the bootstrapping process
-    
-    This allows a build to complete with PERL_UNICODE set and a UTF-8 locale.
-    Without this there's a bootstrapping problem, as miniperl can't load the UTF-8
-    components of the regexp engine, because they're not yet built.
-
-=head2 miniperl now has a restricted @INC
-
-    Restrict miniperl to just -I..., the split of $ENV{PERL5LIB}, and "." in @INC
-
-=head2 miniperl now identifies itself in the output of miniperl -V
-
-PERL_IS_MINIPERL is now declared in the verbose configuration output.
-
-=head2 Parallel testing is pretty much done.
-
-commit d8723a6a74b2c12e9d732728dbe717672ab893f2
-Author: Salvador Ortiz Garcia <sog@msg.com.mx>
-Date:   Sun Sep 6 23:41:57 2009 +0200
-
-    Corrupt filename when setting %INC entry in a @INC hook
-    
-    The code in pp_ctl.c after calling an @INC hook blindly assumes that the
-    SV setted by the user in %INC is an SVPV (SvPOK true) for setting the
-    filename. So when the user uses other scalar types, the output of
-    __FILE__, warn, die, caller, etc. shows random garbage.
 
 Author: Zefram <zefram@fysh.org>
 Date:   Sun Sep 6 17:29:43 2009 +0200
@@ -2525,125 +2467,6 @@ Date:   Sun Sep 6 17:29:43 2009 +0200
     things happen.  The resulting A:H works either way, which is essential
     for its dual-life nature.
 
-commit 354c724e8ab74f150e14800acc80d505949161f5
-Author: Nicholas Clark <nick@ccl4.org>
-Date:   Fri Sep 4 11:04:30 2009 +0100
-
-    OS/2 hadn't been updated to cope with the ext/ restructuring.
-    
-    I don't have OS/2, so I can't test this, but the code in Configure will assume
-    flat directories, because ext/File-Glob is present, and hence not search
-    recursively and not find the OS/2 extensions if they are copied into ext/OS2/*
-    
-    I believe that without this change OS/2 will not have been building since the
-    change to flattened ext. This change may not be sufficient to get OS/2
-    building again, but it is in the right direction.
-
-commit bf6bfb44d9f2e07e4bd25b8eba2d9132fcec637e
-Author: Abhijit Menon-Sen <ams@toroid.org>
-Date:   Fri Sep 4 12:41:56 2009 +0530
-
-    Entity-encode E<0xNNNN> and E<0NNN> correctly
-    
-    Fixes bug #68964 reported by samv, where pod2html encoded E<0x2070> to
-    &0x2070 and not &#x2070. perlpodspec says E<0x2070> should work, but the
-    code in Pod::Html accepted only E<x2070>. The new code accepts both, and
-    processes octal entities correctly as well.
-    
-    Signed-off-by: Abhijit Menon-Sen <ams@toroid.org>
-
-commit 61131c9411631986e27506a8a66b4d43f2f3e4e0
-Author: Karl Williamson <khw@khw-desktop.(none)>
-Date:   Thu Sep 3 11:29:30 2009 -0600
-
-    Add missing files from Unicode 5.1 Character Database
-
-
-=head2 set PERL_LEGACY_UNICODE_CHARCLASS_MAPPINGS to 0 and enable proper POSIX char class matching
-    
-    This also alters which Unicode properties that the POSIX character
-    class and the Perl "special" character classes, like \w and \d map
-    to. At the same time it allows a number of tests for POSIX character
-    class behaviour to be switched from todo to non todo. Legacy testing
-    is still available by changing the define and setting the
-    PERL_TEST_LEGACY_POSIX_CC value to true.
-
-
-commit 89904c08923161afd23c629d5c2c7472a09c16bb
-Author: Lubomir Rintel <lkundrak@v3.sk>
-Date:   Mon Aug 31 11:45:23 2009 +0200
-
-    Fix unpack of abstract socket addrs with nul byte
-    
-    Addresses of Linux abstract namespace sockets are not nul-terminated C
-    strings, but rather an arbitrary character arrays. According to unix(7)
-    documentation from Linux, "Null bytes in the name have  no special
-    significance."
-    
-    unpack_sockaddr_un() was just throwing the initial nul byte away and
-    then treating the rest like ordinary C string when computing the length
-    of the address, which was wrong. This fix utilizes the length of the PV
-    for addresses starting with nul instead.
-    
-    The regression test was extended with check for the problem.
-
-
-commit 16fa5c119c4bda5c0396a5f81296bd1ccc128a9c
-Author: Vincent Pit <perl@profvince.com>
-Date:   Thu Aug 27 11:13:09 2009 +0200
-
-    Speed up repeatcpy() by at least 40% for 1-char or numerous repeats
-    
-    And don't make it receive the interpreter anymore.
-    
-    For 1-char repeats, use memset(). Otherwise, use the old implementation up
-    to some (small) length, and then use memcpy() in a binary manner, based on
-    what we previously copied.
-    
-    Note that we use memcpy() so both strings shouldn't overlap. The previous
-    implementation didn't allow this as well. This would be a good place to use
-    the restrict keyword from C99. I'm not sure if Configure has a probe for it.
-
-=head2 set utf8 bit on inferred method names when C<use utf8>
-
-=head2 New debugging flag -DB now dumps subroutine definitions,
-     leaving -Dx for its original purpose of dumping syntax trees.
-
-
-=head2    Make MAD understand the "..." operator
-
-
-=head2 Add support for Abstract namespace sockets
-    
-    Abstract namespace sockets are Linux-specific socket type that live in
-    AF_UNIX family, slightly abusing it to be able to use arbitrary
-    character arrays as addresses: They start with nul byte and are not
-    terminated by nul byte, but with the length passed to the socket()
-    system call.
-    
-    Added regression test for the correct address length computation.
-    
-    Signed-off-by: Lubomir Rintel <lkundrak@fedoraproject.org>
-
-
-=head2 Note that linearising C3 MRO is now 40% faster for single inheritance.
-
-=head2 Fix a B::Deparse bug - constants and PCSs were appearing as subroutine stubs.
-    
-
-    
-
-
-
-=head2 Win32:   Don't explicitly link against msvcrt when using MinGW.
-    
-    The latest releases of MinGW generate hard linker errors
-    when msvcrt is specified explicitly.  It will still link
-    against this library implicitly anyways, so specifying it
-    isn't needed.
-
-=head2    Add security contact information to perlsec
-    
 =item Introduce "delete local"
 
 commit 7332a6c406299d5e73836d2410689bd7c3ae4782