Integrate perlio:
[p5sagit/p5-mst-13.2.git] / pod / perltodo.pod
index 314ac1e..5f9a6cf 100644 (file)
@@ -87,10 +87,8 @@ C<Numeric Type>, C<East Asian Width>.
 
     Case Mappings? http://www.unicode.org/unicode/reports/tr21/
 
-lc(), uc(), lcfirst(), and ucfirst() work only for some of the
-simplest cases, where the mapping goes from a single Unicode character
-to another single Unicode character.  See lib/unicore/SpecCase.txt
-(and CaseFold.txt).
+Mostly implemented (all of 1:1, 1:N, N:1), only the "final sigma"
+and locale-specific rules of SpecCase are not implemented.
 
 =item *
 
@@ -100,7 +98,25 @@ UTF-8 identifier names should probably be canonicalized: NFC?
 
 UTF-8 in package names and sub names?  The first is problematic
 because of the mapping to pathnames, ditto for the second one if
-one does autosplitting, for example.
+one does autosplitting, for example.  Some of this works already
+in 5.8.0, but essentially it is unsupported.  Constructs to consider,
+at the very least:
+
+       use utf8;
+       package UnicodePackage;
+       sub new { bless {}, shift };
+       sub UnicodeMethod1 { ... $_[0]->UnicodeMethod2(...) ... }
+       sub UnicodeMethod2 { ... } # in here caller(0) should contain Unicode
+       ...
+       package main;
+       my $x = UnicodePackage->new;
+       print ref $x, "\n";  # should be Unicode
+       $x->UnicodeMethod1(...);
+       my $y = UnicodeMethod3 UnicodePackage ...;
+
+In the above all I<UnicodeXxx> contain (identifier-worthy) characters
+beyond the code point 255, for example 256.  Wherever package/class or
+subroutine names can be returned needs to be checked for Unicodeness.
 
 =back