tweak Unicode notes, other cleanups
[p5sagit/p5-mst-13.2.git] / pod / perldelta.pod
index 408b48c..a7a2279 100644 (file)
@@ -132,7 +132,7 @@ Perl 5.004 deprecated the interpretation of C<$$1> and
 similar within interpolated strings to mean C<$$ . "1">,
 but still allowed it.
 
-In Perl 5.6 and later, C<"$$1"> always means C<"${$1}">.
+In Perl 5.6.0 and later, C<"$$1"> always means C<"${$1}">.
 
 =item delete(), values() and C<\(%h)> operate on aliases to values, not copies
 
@@ -413,15 +413,18 @@ See INSTALL for complete details.
 
 =head2 Unicode and UTF-8 support
 
-Perl can optionally use UTF-8 as its internal representation for character
+WARNING: This is an experimental feature.  Implementation details are
+subject to change.
+
+Perl now uses UTF-8 as its internal representation for character
 strings.  The C<utf8> and C<bytes> pragmas are used to control this support
 in the current lexical scope.  See L<perlunicode>, L<utf8> and L<bytes> for
 more information.
 
 =head2 Interpreter cloning, threads, and concurrency
 
-WARNING: This is an experimental feature in a pre-alpha state.  Use
-at your own risk.
+WARNING: This is an experimental feature.  Implementation details are
+subject to change.
 
 Perl 5.005_63 introduces the beginnings of support for running multiple
 interpreters concurrently in different threads.  In conjunction with
@@ -469,11 +472,10 @@ for details.
 
 =head2 Lvalue subroutines
 
-WARNING: This is an experimental feature.
+WARNING: This is an experimental feature.  Details are subject to change.
 
-change#4081
-[TODO - Ilya Zakharevich <ilya@math.ohio-state.edu>,
-Tuomas Lukka <lukka@iki.fi>)]
+Subroutines can now return modifiable lvalues.
+See L<perlsub/"Lvalue subroutines">.
 
 =head2 "our" declarations
 
@@ -552,9 +554,6 @@ automatically undef-ed.
 To use this feature, you need the WeakRef package from CPAN, which
 contains additional documentation.
 
-change#3385, also need perlguts documentation
-[TODO - Tuomas Lukka <lukka@iki.fi>]
-
 =head2 File globbing implemented internally
 
 WARNING: This is currently an experimental feature.  Interfaces and
@@ -868,24 +867,18 @@ the C<:> is optional.)
 F<AutoSplit.pm> and F<SelfLoader.pm> have been updated to keep the attributes
 with the stubs they provide.  See L<attributes>.
 
-=head2 Regular expression improvements
-
-change#2827,2373,2372,2365,1813,1800,4112,4158,4215,4301
-[TODO - Ilya Zakharevich <ilya@math.ohio-state.edu>]
-
-=head2 Overloading improvements
-
-change#2150
-[TODO - Ilya Zakharevich <ilya@math.ohio-state.edu>]
-
 =head2 open() with more than two arguments
 
-[TODO - Ilya Zakharevich <ilya@math.ohio-state.edu>]
+If open() is passed three arguments instead of two, the second arguments
+is used as the mode and the third argument is taken to be the file name.
+This is primarily useful for protecting against unintended magic behavior
+of the traditional two-argument form.  See L<perlfunc/open>.
 
 =head2 Support for interpolating named characters
 
-change#4052
-[TODO - Ilya Zakharevich <ilya@math.ohio-state.edu>]
+The new C<\N> escape interpolates named characters within strings.
+For example, C<"Hi! \N{WHITE SMILING FACE}"> evaluates to a string
+with a unicode smiley face at the end.
 
 =head2 C<require> and C<do> may be overridden
 
@@ -1102,11 +1095,6 @@ subroutine was not found in the package.  Such cases stopped
 later method lookups from progressing into base packages.
 This has been corrected.
 
-=head2 Consistent numeric conversions
-
-change#3378,3318
-[TODO - Ilya Zakharevich <ilya@math.ohio-state.edu>]
-
 =head2 Taint failures under C<-U>
 
 When running in unsafe mode, taint violations could sometimes
@@ -1167,16 +1155,6 @@ Certain operations in the RHS of assignment statements have been
 optimized to directly set the lexical variable on the LHS,
 eliminating redundant copying overheads.
 
-=head2 Faster mechanism to invoke XSUBs
-
-change#4044,4125
-[TODO - Ilya Zakharevich <ilya@math.ohio-state.edu>]
-
-=head2 Perl_malloc() improvements
-
-change#4237
-[TODO - Ilya Zakharevich <ilya@math.ohio-state.edu>]
-
 =head2 Faster subroutine calls
 
 Minor changes in how subroutine calls are handled internally
@@ -1237,10 +1215,6 @@ This port is still using its own builtin globbing.
 
 =back
 
-=head2 OS/2
-
-[TODO - Ilya Zakharevich <ilya@math.ohio-state.edu>]
-
 =head2 OS390 (OpenEdition MVS)
 
 Support for this EBCDIC platform has not been renewed in this release.
@@ -1280,8 +1254,8 @@ patches, testing, and ideas.
 
 =head2 Win32
 
-Site library searches failed to look for ".../site/5.XXX/lib"
-if ".../site/5.XXXYY/lib" wasn't found.  This has been corrected.
+Perl can now emulate fork() with multiple interpreters.  This support
+must be enabled at build time.  See L<perlfork> for detailed information.
 
 When given a pathname that consists only of a drivename, such
 as C<A:>, opendir() and stat() now use the current working
@@ -1324,8 +1298,6 @@ preserve compatibility with the older syntax, you might want to put
 a C<use File::DosGlob;> in your program.  For details and compatibility
 information, see L<File::Glob>.
 
-[TODO - GSAR]
-
 =head1 New tests
 
 =over 4
@@ -1424,8 +1396,7 @@ See L<constant>.
 
 =item charnames
 
-change#4052
-[TODO - Ilya Zakharevich <ilya@math.ohio-state.edu>]
+This pragma implements the C<\N> string escape.  See L<charnames>.
 
 =item Data::Dumper
 
@@ -1511,11 +1482,6 @@ $PERL_VERSION now stands for C<$^V> (a string value) rather than for C<$]>
 Env now supports accessing environment variables like PATH as array
 variables.
 
-=item ExtUtils::MakeMaker
-
-change#4135, also needs docs in module pod
-[TODO - Ilya Zakharevich <ilya@math.ohio-state.edu>]
-
 =item Fcntl
 
 More Fcntl constants added: F_SETLK64, F_SETLKW64, O_LARGEFILE for
@@ -1711,7 +1677,7 @@ Pod::InputObjects defines some input objects needed by Pod::Parser, and
 for advanced users of Pod::Parser that need more about a command besides
 its name and text.
 
-As of release 5.6 of Perl, Pod::Parser is now the officially sanctioned
+As of release 5.6.0 of Perl, Pod::Parser is now the officially sanctioned
 "base parser code" recommended for use by all pod2xxx translators.
 Pod::Text (pod2text) and Pod::Man (pod2man) have already been converted
 to use Pod::Parser and efforts to convert Pod::HTML (pod2html) are already
@@ -1853,8 +1819,6 @@ C<use attrs> is now obsolete, and is only provided for
 backward-compatibility.  It's been replaced by the C<sub : attributes>
 syntax.  See L<perlsub/"Subroutine Attributes"> and L<attributes>.
 
-C<use utf8> to enable UTF-8 and Unicode support.
-
 Lexical warnings pragma, C<use warnings;>, to control optional warnings.
 See L<perllexwarn>.
 
@@ -1867,10 +1831,6 @@ but access(2) knows better.
 
 =head1 Utility Changes
 
-=head2 h2ph
-
-[TODO - Kurt Starsinic <kstar@chapin.edu>]
-
 =head2 perlcc
 
 C<perlcc> now supports the C and Bytecode backends.  By default,
@@ -1879,11 +1839,6 @@ optimized C backend.
 
 Support for non-Unix platforms has been improved.
 
-=head2 h2xs
-
-change#4232
-[TODO - Ilya Zakharevich <ilya@math.ohio-state.edu>]
-
 =head1 Documentation Changes
 
 =over 4