Mention explicitly the NetBSD + pth combination.
[p5sagit/p5-mst-13.2.git] / pod / perltodo.pod
index 9695e6d..60be5b9 100644 (file)
@@ -94,16 +94,23 @@ to another single Unicode character.  See lib/unicore/SpecCase.txt
 
 =item *
 
-They have some tricks Perl doesn't yet implement like character
-class subtraction.
+UTF-8 identifier names should probably be canonicalized: NFC?
 
-       http://www.unicode.org/unicode/reports/tr18/
+=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.
 
 =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.
+They have some tricks Perl doesn't yet implement, such as character
+class subtraction.
+
+       http://www.unicode.org/unicode/reports/tr18/
 
 =head2 use Thread for iThreads
 
@@ -193,7 +200,7 @@ for the real and effective uids).  Firstly, what exactly setuid() call
 gets invoked in which platform is simply a big mess that needs to be
 untangled.  Secondly, the effects are apparently not standard across
 platforms, (if you first set $< and then $>, or vice versa, being
-uid==euid== zero, or just euid==zero, or as a normal user, what are
+uid == euid == zero, or just euid == zero, or as a normal user, what are
 the results?).  The test suite not (usually) being run as root means
 that these things do not get much testing.  Thirdly, there's quite
 often a third uid called saved uid, and Perl has no knowledge of that
@@ -201,7 +208,7 @@ feature in any way.  (If one has the saved uid of zero, one can get
 back any real and effective uids.)  As an example, to change also the
 saved uid, one needs to set the real and effective uids B<twice>-- in
 most systems, that is: in HP-UX that doesn't seem to work.
-       
+
 =head2 Custom opcodes
 
 Have a way to introduce user-defined opcodes without the subroutine call
@@ -535,6 +542,12 @@ even with the same keys.
 This should be allowed if the new keyset is a subset of the old
 keyset.  May require more extra code than we'd like in pp_aassign.
 
+=head2 Should overload be inheritable?
+
+Should overload be 'contagious' through @ISA so that derived classes
+would inherit their base classes' overload definitions?  What to do
+in case of overload conflicts?
+
 =head1 Vague ideas
 
 Ideas which have been discussed, and which may or may not happen.
@@ -610,6 +623,51 @@ modules have tests.
 
 The code we ship with Perl should look like good Perl 5.
 
+=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.
+
+=head2 truncate to the people
+
+One can emulate ftruncate() using F_FREESP and F_CHSIZ fcntls
+(see the UNIX FAQ for details).  This needs to go somewhere near
+pp_sys.c:pp_truncate().
+
+One can emulate truncate() easily if one has ftruncate().
+This emulation should also go near pp_sys.pp_truncate().
+
+=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.
+
+Known combinations that have some level of understanding include
+Microsoft NTFS, Apple HFS+ (In Mac OS 9 and X) and Apple UFS (in Mac
+OS X), NFS v4 is rumored to be Unicode, and of course Plan 9.  How to
+create Unicode filenames, what forms of Unicode are accepted and used
+(UCS-2, UTF-16, UTF-8), what (if any) is the normalization form used,
+and so on, varies.  Finding the right level of interfacing to Perl
+requires some thought.  Remember that an OS does not implicate a
+filesystem.
+
+Note that in Windows the -C command line flag already does quite
+a bit of the above (but even there the support is not complete:
+for example the exec/spawn are not Unicode-aware) by turning on
+the so-called "wide API support". 
+
 =head1 Recently done things
 
 These are things which have been on the todo lists in previous releases
@@ -716,7 +774,7 @@ Added in 5.7.1
 
 =head2 Mailing list archives
 
-http://lists.perl.org/, http://archive.develooper.com/
+http://lists.perl.org/ , http://archive.develooper.com/
 
 =head2 Bug tracking
 
@@ -787,9 +845,11 @@ Damian Conway's text formatting modules seem to be the Way To Go.
 
 =head2 Generalised want()/caller())
 
+Robin Houston's C<Want> module does this.
+
 =head2 Named prototypes
 
-These both seem to be delayed until Perl 6.
+This seems to be delayed until Perl 6.
 
 =head2 Built-in globbing
 
@@ -827,7 +887,7 @@ Use C<Inline::CPR>.
 
 =head2 man for perl
 
-See the Perl Power Tools. (http://language.perl.com/ppt/)
+See the Perl Power Tools. ( http://language.perl.com/ppt/ )
 
 =head2 my $Package::variable
 
@@ -871,27 +931,6 @@ 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.
-
-=head2 truncate to the people
-
-One can emulate ftruncate() using F_FREESP and F_CHSIZ fcntls
-(see the UNIX FAQ for details).  This needs to go somewhere near
-pp_sys.c:pp_truncate().
-
-One can emulate truncate() easily if one has ftruncate().
-This emulation should also go near pp_sys.pp_truncate().
-
 =head2 pack/unpack tutorial
 
 Wolfgang Laun finished what Simon Cozens started.