The Official name of ASCII.
[p5sagit/p5-mst-13.2.git] / pod / perltodo.pod
index 0f4ea63..534580a 100644 (file)
@@ -54,6 +54,9 @@ Possible options, controlled by the flags:
 - append a "..." to the produced string if the maximum length is exceeded
 - really fancy: print unicode characters as \N{...}
 
+NOTE: pv_display(), pv_uni_display(), sv_uni_display() are doing
+something like the above.
+
 =head2 Overloadable regex assertions
 
 This may or may not be possible with the current regular expression
@@ -61,17 +64,47 @@ engine. The idea is that, for instance, C<\b> needs to be
 algorithmically computed if you're dealing with Thai text. Hence, the
 B<\b> assertion wants to be overloaded by a function.
 
-=head2 Unicode case mappings 
+=head2 Unicode
+
+=over 4
+
+=item *
+
+Allow for long form of the General Category Properties, e.g
+C<\p{IsOpenPunctuation}>, not just the abbreviated form, e.g.
+C<\p{IsPs}>.
+
+=item *
+
+Allow for the metaproperties: C<XID Start>, C<XID Continue>,
+C<NF*_NO>, C<NF*_MAYBE> (require the DerivedCoreProperties and
+DerviceNormalizationProperties files).
+
+There are also multiple value properties still unimplemented:
+C<Numeric Type>, C<East Asian Width>.
+
+=item *
 
     Case Mappings? http://www.unicode.org/unicode/reports/tr21/
 
-=head2 Unicode regular expression character classes
+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).
+
+=item *
 
 They have some tricks Perl doesn't yet implement like character
 class subtraction.
 
        http://www.unicode.org/unicode/reports/tr18/
 
+=back
+
+See L<perlunicode/UNICODE REGULAR EXPRESSION SUPPORT LEVEL> for what's
+there and what's missing.  Almost all of Levels 2 and 3 is missing,
+and as of 5.8.0 not even all of Level 1 is there.
+
 =head2 use Thread for iThreads
 
 Artur Bergman's C<iThreads> module is a start on this, but needs to
@@ -159,11 +192,6 @@ Have a way to introduce user-defined opcodes without the subroutine call
 overhead of an XSUB; the user should be able to create PP code. Simon
 Cozens has some ideas on this.
 
-=head2 spawnvp() on Win32
-
-Win32 has problems spawning processes, particularly when the arguments
-to the child process contain spaces, quotes or tab characters.
-
 =head2 DLL Versioning
 
 Windows needs a way to know what version of a XS or C<libperl> DLL it's
@@ -268,7 +296,7 @@ That's to say, C<pack "(sI)40"> would be the same as C<pack "sI"x40>
 =head2 Cross compilation
 
 Make Perl buildable with a cross-compiler. This will play havoc with
-Configure, which needs to how how the target system will respond to
+Configure, which needs to know how the target system will respond to
 its tests; maybe C<microperl> will be a good starting point here.
 (Indeed, Bart Schuller reports that he compiled up C<microperl> for
 the Agenda PDA and it works fine.)  A really big spanner in the works
@@ -316,6 +344,8 @@ has changed. Detecting a change is perhaps the difficult bit.
 
 =head2 All ARGV input should act like E<lt>E<gt>
 
+eg C<read(ARGV, ...)> doesn't currently read across multiple files.
+
 =head2 Support for rerunning debugger
 
 There should be a way of restarting the debugger on demand.
@@ -481,6 +511,12 @@ Hugo van der Sanden plans to look at this.
 This has been done in places, but needs a thorough code review.
 Also fchdir is available in some platforms.
 
+=head2 Make v-strings overloaded objects
+
+Instead of having to guess whether a string is a v-string and thus
+needs to be displayed with %vd, make v-strings (readonly) objects
+(class "vstring"?) with a stringify overload.
+
 =head1 Vague ideas
 
 Ideas which have been discussed, and which may or may not happen.
@@ -810,4 +846,16 @@ by SADAHIRO Tomoyuki have been included since 5.8.0.
     Collation?     http://www.unicode.org/unicode/reports/tr10/
     Normalization? http://www.unicode.org/unicode/reports/tr15/
 
+=head2 Create debugging macros
+
+Debugging macros (like printsv, dump) can make debugging perl inside a
+C debugger much easier.  A good set for gdb comes with mod_perl.
+Something similar should be distributed with perl.
+
+The proper way to do this is to use and extend Devel::DebugInit.
+Devel::DebugInit also needs to be extended to support threads.
+
+See p5p archives for late May/early June 2001 for a recent discussion
+on this topic.
+
 =cut