Recode the naughty binary bytes ([\x00-\x08\x0b-\x1f\x7f-\xff])
[p5sagit/p5-mst-13.2.git] / pod / perldelta.pod
index 9dc3ff3..8ea61b3 100644 (file)
@@ -50,6 +50,12 @@ it to make some sense, it is forbidden.
 
 =item *
 
+A reference to a reference now stringify as "REF(0x81485ec)" instead
+of "SCALAR(0x81485ec)" in order to be more consistent with the return
+value of ref().
+
+=item *
+
 The very dusty examples in the eg/ directory have been removed.
 Suggestions for new shiny examples welcome but the main issue is that
 the examples need to be documented, tested and (most importantly)
@@ -69,6 +75,12 @@ since it, in a way, falsely promised that the features could be used.
 
 =item *
 
+The (bogus) escape sequences \8 and \9 now give an optional warning
+("Unrecognized escape passed through").  There is no need to \-escape
+any C<\w> character.
+
+=item *
+
 lstat(FILEHANDLE) now gives a warning because the operation makes no sense.
 In future releases this may become a fatal error.
 
@@ -97,6 +109,10 @@ functionality, see pack('U0', ...) and pack('C0', ...).
 
 =item *
 
+Formats now support zero-padded decimal fields.
+
+=item *
+
 C<perl -d:Module=arg,arg,arg> now works (previously one couldn't pass
 in multiple arguments.)
 
@@ -119,6 +135,11 @@ C<pack('U0a*', ...)> can now be used to force a string to UTF8.
 
 =item *
 
+The printf and sprintf now support parameter reordering using the
+C<%\d+\$> and C<*\d+\$> syntaxes.
+
+=item *
+
 prototype(\&) is now available.
 
 =item *
@@ -211,8 +232,6 @@ C<%INC> now localised in a Safe compartment so that use/require work.
 
 The Shell module now has an OO interface.
 
-=item *
-
 =back
 
 =head1 Utility Changes
@@ -315,7 +334,7 @@ keys will stay ordered as they were before the sort).
 
 =item *
 
-INSTALL now explains how you can configure perl to use 64-bit
+INSTALL now explains how you can configure Perl to use 64-bit
 integers even on non-64-bit platforms.
 
 =item *
@@ -370,6 +389,12 @@ $Config{byteorder} is now computed dynamically (this is more robust
 with "fat binaries" where an executable image contains binaries for
 more than one binary platform.)
 
+=item *
+
+Configure no longer included the DBM libraries (dbm, gdbm, db, ndbm)
+when building the Perl binary. The only exception to this is SunOS 4.x,
+which needs them.
+
 =back
 
 =head1 Selected Bug Fixes
@@ -474,7 +499,7 @@ Several Unicode fixes (but still not perfect).
 
 BOMs (byte order marks) in the beginning of Perl files
 (scripts, modules) should now be transparently skipped.
-UTF16 encoded Perl files should now be read correctly.
+UTF-16 (UCS-2)encoded Perl files should now be read correctly.
 
 =item *
 
@@ -509,7 +534,9 @@ see pack('U0', ...)).
 
 =item *
 
-vec() now refuses to deal with characters >255.
+vec() now tries to work with characters <= 255 when possible, but it leaves
+higher character values in place.  In that case, if vec() was used to modify
+the string, it is no longer considered to be utf8-encoded.
 
 =item *
 
@@ -676,12 +703,12 @@ Fake signal handling reenabled, bugs and all.
 =item *
 
 Less stack reserved per thread so that more threads can run
-concurrently. (still 16M perl thread)
+concurrently. (Still 16M per thread.)
 
 =item *
 
 C<File::Spec->tmpdir()> now prefers C:/temp over /tmp
-(works better when perl running as service).
+(works better when perl is running as service).
 
 =item *
 
@@ -697,6 +724,8 @@ winsock handle leak fixed.
 
 =back
 
+=back
+
 =head1 New or Changed Diagnostics
 
 All regular expression compilation error messages are now hopefully
@@ -726,8 +755,8 @@ You can now build a really minimal perl called microperl.
 Building microperl does not require even running Configure;
 C<make -f Makefile.micro> should be enough.  Beware: microperl makes
 many assumptions, some of which may be too bold; the resulting
-executable may crash or otherwise misbehave in wondrous ways.  For
-careful hackers only.
+executable may crash or otherwise misbehave in wondrous ways.
+For careful hackers only.
 
 =item *
 
@@ -794,6 +823,15 @@ this area.)
 
 No known fix.
 
+=head2 sprintf tests 129 and 130
+
+The op/sprintf tests 129 and 130 are known to fail in some platforms.
+Examples include any platform using sfio, and Tandem's NonStop-UX.
+The failing platforms do not comply with the ANSI C Standard, line
+19ff on page 134 of ANSI X3.159 1989 to be exact.  (They produce
+something else than "1" and "-1" when formatting 0.6 and -0.6 using
+the printf format "%.0f", most often they produce "0" and "-0".)
+
 =head2 Storable tests fail in some platforms
 
 If any Storable tests fail the use of Storable is not advisable.
@@ -823,6 +861,8 @@ made in other platforms.
 
 st-store.t and st-retrieve may fail with Compaq C 6.2 on OpenVMS Alpha 7.2.
 
+=back
+
 =head2 Threads Are Still Experimental
 
 Multithreading is still an experimental feature.  Some platforms
@@ -834,7 +874,7 @@ emit the following message for lib/thr5005
     # from deploying threads in production. ;-)
     #
  
-and another known warning is
+and another known thread-related warning is
 
    pragma/overload......Unbalanced saves: 3 more saves than restores
    panic: magic_mutexfree during global destruction.
@@ -848,11 +888,9 @@ and another known warning is
 
 =head2 The Compiler Suite Is Still Experimental
 
-The compiler suite is slowly getting better but is nowhere near yet.
-The backend part that has seen perhaps the most progress is the
-bytecode compiler.
-
-=back
+The compiler suite is slowly getting better but is nowhere near
+working order yet.  The backend part that has seen perhaps the most
+progress is the bytecode compiler.
 
 =head1 Reporting Bugs