Slight update tweaks on perlunicode.pod.
[p5sagit/p5-mst-13.2.git] / pod / perl572delta.pod
index e285f10..9873636 100644 (file)
@@ -49,6 +49,34 @@ statically built in.  This may or may not be a problem with ancient
 TCP/IP stacks of VMS: we do not know since we weren't able to test
 Perl in such configurations.
 
+=head2 Different Definition of the Unicode Character Classes \p{In...}
+
+As suggested by the Unicode consortium, the Unicode character classes
+now prefer I<scripts> as opposed to I<blocks> (as defined by Unicode);
+in Perl, when the C<\p{In....}> and the C<\p{In....}> regular expression
+constructs are used.  This has changed the definition of some of those
+character classes.
+
+The difference between scripts and blocks is that scripts are the
+glyphs used by a language or a group of languages, while the blocks
+are more artificial groupings of 256 characters based on the Unicode
+numbering.
+
+In general this change results in more inclusive Unicode character
+classes, but changes to the other direction also do take place:
+for example while the script C<Latin> includes all the Latin
+characters and their various diacritic-adorned versions, it
+does not include the various punctuation or digits (since they
+are not solely C<Latin>).
+
+Changes in the character class semantics may have happened if a script
+and a block happen to have the same name, for example C<Hebrew>.
+In such cases the script wins and C<\p{InHebrew}> now means the script
+definition of Hebrew.  The block definition in still available,
+though, by appending C<Block> to the name: C<\p{InHebrewBlock}> means
+what C<\p{InHebrew}> meant in perl 5.6.0.  For the full list
+of affected character classes, see L<perlunicode/Blocks>.
+
 =head2 Deprecations
 
 The current user-visible implementation of pseudo-hashes (the weird
@@ -83,8 +111,8 @@ B<between digits>.
 
 =item *
 
-GMAGIC (right-hand side magic) could in many cases such as concatenation
-of string be invoked too many times.
+GMAGIC (right-hand side magic) could in many cases such as string
+concatenation be invoked too many times.
 
 =item *
 
@@ -103,13 +131,12 @@ Lvalue subroutines can now return C<undef> in list context.
 
 =item *
 
-The MAGIC constants (e.g. C<'P'>) have been macrofied
-(e.g. C<PERL_MAGIC_TIED>) for better source code readability
-and maintainability.
+The C<op_clear> and C<op_null> are now exported.
 
 =item *
 
-The C<op_clear> and C<op_null> are now exported.
+A new special regular expression variable has been introduced:
+C<$^N>, which contains the most-recently closed group (submatch).
 
 =item *
 
@@ -133,7 +160,7 @@ VMS now works under PerlIO.
 
 =head1 Modules and Pragmata
 
-=head2 New Modules and Distribution
+=head2 New Modules and Distributions
 
 =over 4
 
@@ -193,6 +220,14 @@ L<Time::Piece> - Object Oriented time objects
 
 (Previously known as L<Time::Object>.)
 
+=item *
+
+L<Time::Seconds> - a simple API to convert seconds to other date values
+
+=item *
+
+L<Unicode::UCD> - Unicode Character Database
+
 =back
 
 =head2 Updated And Improved Modules and Pragmata
@@ -308,11 +343,6 @@ Use of the F<gprof> tool to profile Perl has been documented in
 L<perlhack>.  There is a make target "perl.gprof" for generating a
 gprofiled Perl executable.
 
-=item *
-
-(Code documentation) F<perly.c> and F<sv.c> have now been extensively
-commented.
-
 =back
 
 =head1 Installation and Configuration Improvements
@@ -361,13 +391,6 @@ The Amdahl UTS UNIX mainframe platform is now supported.
 
 =item *
 
-The C code has been made much more C<gcc -Wall> clean.  Some warning
-messages still remain, though, so if you are compiling with gcc you
-will see some warnings about dubious practices.  The warnings are
-being worked on.
-
-=item *
-
 In AFS installations one can configure the root of the AFS to be
 somewhere else than the default F</afs> by using the Configure
 parameter C<-Dafsroot=/some/where/else>.
@@ -467,7 +490,17 @@ deprecated for a while.  Now you will get an optional warning.
 
 =back
 
-=head1 Changed Internals
+=head1 Source Code Enhancements
+
+=head2 MAGIC constants
+
+The MAGIC constants (e.g. C<'P'>) have been macrofied
+(e.g. C<PERL_MAGIC_TIED>) for better source code readability
+and maintainability.
+
+=head2 Better commented code
+
+F<perly.c>, F<sv.c>, and F<sv.h> have now been extensively commented.
 
 =head2 Regex pre-/post-compilation items matched up
 
@@ -477,6 +510,13 @@ original regex expression.  The information is attached to the new
 C<offsets> member of the C<struct regexp>. See L<perldebguts> for more
 complete information.
 
+=head2 gcc -Wall
+
+The C code has been made much more C<gcc -Wall> clean.  Some warning
+messages still remain, though, so if you are compiling with gcc you
+will see some warnings about dubious practices.  The warnings are
+being worked on.
+
 =head1 New Tests
 
 Several new tests have been added, especially for the F<lib> subsection.
@@ -549,6 +589,34 @@ subtest 9 failed.
 
 No known fix.
 
+=head2 OS/390
+
+OS/390 has rather many test failures but the situation is actually
+better than it was in 5.6.0, it's just that so many new modules and
+tests have been added.
+
+ Failed Test                     Stat Wstat Total Fail  Failed  List of Failed
+ -----------------------------------------------------------------------------
+ ../ext/B/Deparse.t                            14    1   7.14%  14
+ ../ext/B/Showlex.t                             1    1 100.00%  1
+ ../ext/Encode/Encode/Tcl.t                   610   13   2.13%  592 594 596 598
+                                                                600 602 604-610
+ ../ext/IO/lib/IO/t/io_unix.t     113 28928     5    3  60.00%  3-5
+ ../ext/POSIX/POSIX.t                          29    1   3.45%  14
+ ../ext/Storable/t/lock.t         255 65280     5    3  60.00%  3-5
+ ../lib/locale.t                  129 33024   117   19  16.24%  99-117
+ ../lib/warnings.t                            434    1   0.23%  75
+ ../lib/ExtUtils.t                             27    1   3.70%  25
+ ../lib/Math/BigInt/t/bigintpm.t             1190    1   0.08%  1145
+ ../lib/Unicode/UCD.t                          81   48  59.26%  1-16 49-64 66-81
+ ../lib/User/pwent.t                            9    1  11.11%  4
+ op/pat.t                                     660    6   0.91%  242-243 424-425
+                                                                626-627
+ op/split.t                         0     9    ??   ??       %  ??
+ op/taint.t                                   174    3   1.72%  156 162 168
+ op/tr.t                                       70    3   4.29%  50 58-59
+ Failed 16/422 test scripts, 96.21% okay. 105/23251 subtests failed, 99.55% okay.
+
 =head2 op/sprintf tests 129 and 130
 
 The op/sprintf tests 129 and 130 are known to fail on some platforms.
@@ -604,13 +672,51 @@ No known fix.
 
 Many floating point inaccuracies:
 
-  op/numconvert            511,657,658,659,665-667,831,991,1151
-  op/pack                  10,22,149,156
-  op/sprintf               8,10,13,102-107,134-135,146-153,159-162
-  lib/Math/BigInt/bigintpm 1145,1183
-  lib/Math/Complex         250,257,514,521,722-724,
-                           934,935,945,949,955,956,975,976
-  ext/POSIX/POSIX          14
+  op/numconvert              511,657,658,659,665-667,831,991,1151
+  op/pack                    10,22,149,156
+  op/sprintf                 8,10,13,102-107,134-135,146-153,159-162
+  lib/Math/BigInt/bigintpm   1145,1183
+  lib/Math/Complex           250,257,514,521,722-724,
+                             934,935,945,949,955,956,975,976
+  ext/POSIX/POSIX            14
+
+=head2 VMS
+
+Rather many tests are failing in VMS but that actually more tests
+succeed in VMS than they used to, it's just that there are many,
+many more tests than there used to be.
+
+Here are the known failures from some compiler/platform combinations.
+
+DEC C V5.3-006 on OpenVMS VAX V6.2
+  [-.ext.list.util.t]tainted..............FAILED on test 3
+  [-.ext.posix]sigaction..................FAILED on test 7
+  [-.ext.time.hires]hires.................FAILED on test 14
+  [-.lib.file.find]taint..................FAILED on test 17
+  [-.lib.math.bigint.t]bigintpm...........FAILED on test 1183
+  [-.lib.test.simple.t]exit...............FAILED on test 1
+  [.lib]vmsish............................FAILED on test 13
+  [.op]sprintf............................FAILED on test 12
+  Failed 8/399 tests, 91.23% okay.
+
+DEC C V6.0-001 on OpenVMS Alpha V7.2-1 
+
+  [-.ext.list.util.t]tainted..............FAILED on test 3 
+  [-.lib.file.find]taint..................FAILED on test 17
+  [-.lib.test.simple.t]exit...............FAILED on test 1
+  [.lib]vmsish............................FAILED on test 13
+  Failed 4/399 tests, 92.48% okay.
+
+Compac C V6.4-005 on OpenVMS Alpha 7.2.1
+
+  [-.ext.b]showlex........................FAILED on test 1
+  [-.ext.list.util.t]tainted..............FAILED on test 3
+  [-.lib.file.find]taint..................FAILED on test 17 
+  [-.lib.test.simple.t]exit...............FAILED on test 1
+  [.lib]vmsish............................FAILED on test 13
+  [.op]misc...............................FAILED on test 49
+  Failed 6/401 tests, 92.77% okay.
 
 =head2 Localising a Tied Variable Leaks Memory