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 *
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
http://archive.develooper.com/perl5-porters@perl.org/msg79618.html
-=head2 Better support for nonpreemptive threading systems like PTH
+=head2 Better support for nonpreemptive threading systems like GNU pth
-Perhaps do yield() before blocking calls, exchange calls to non blocking
-calls specific for those libraries (for example GNUpth has a pth_sleep
-which is a non pth aware version of sleep).
+To better support nonpreemptive threading systems, perhaps some of the
+blocking functions internally in Perl should do a yield() before a
+blocking call. (Now certain threads tests ({basic,list,thread.t})
+simply do a yield() before they sleep() to give nonpreemptive thread
+implementations a chance).
+
+In some cases, like the GNU pth, which has replacement functions that
+are nonblocking (pth_select instead of select), maybe Perl should be
+using them instead when built for threading.
=head2 Typed lexicals for compiler
=head2 Unicode in Filenames
-chdir, chmod, chown, chroot, exec, glob, link, lstat, mkdir, open, qx,
-readdir, readlink, rename, rmdir, stat, symlink, sysopen, system,
-truncate, unlink, utime. All these could potentially accept Unicode
-filenames either as input or output (and in the case of system and qx
-Unicode in general, as input or output to/from the shell). Whether a
-filesystem - an operating system pair understands Unicode in filenames
-varies.
+chdir, chmod, chown, chroot, exec, glob, link, lstat, mkdir, open,
+opendir, qx, readdir, readlink, rename, rmdir, stat, symlink, sysopen,
+system, truncate, unlink, utime. All these could potentially accept
+Unicode filenames either as input or output (and in the case of system
+and qx Unicode in general, as input or output to/from the shell).
+Whether a filesystem - an operating system pair understands Unicode in
+filenames varies.
Known combinations that have some level of understanding include
Microsoft NTFS, Apple HFS+ (In Mac OS 9 and X) and Apple UFS (in Mac