Assuming the Apache 1.3 -D_GNU_SOURCE problem
[p5sagit/p5-mst-13.2.git] / pod / perltodo.pod
index b09ad22..eea756b 100644 (file)
@@ -54,8 +54,8 @@ 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.
+NOTE: pv_display(), pv_uni_display(), sv_uni_display() are already
+doing something like the above.
 
 =head2 Overloadable regex assertions
 
@@ -193,7 +193,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 +201,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
@@ -303,10 +303,6 @@ properly on error.
 This is possible to do, but would be pretty messy to implement, as it
 would rely on even more sed hackery in F<perly.fixer>.
 
-=head2 pack "(stuff)*"
-
-That's to say, C<pack "(sI)40"> would be the same as C<pack "sI"x40>
-
 =head2 bitfields in pack
 
 =head2 Cross compilation
@@ -480,10 +476,6 @@ garbage detector into Perl; Alan Burlison has some ideas about this.
 
 Mark-Jason Dominus has the beginnings of one of these.
 
-=head2 pack/unpack tutorial
-
-Simon Cozens has the beginnings of one of these.
-
 =head2 Rewrite perldoc
 
 There are a few suggestions for what to do with C<perldoc>: maybe a
@@ -533,6 +525,16 @@ 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.
 
+=head2 Allow restricted hash assignment
+
+Currently you're not allowed to assign to a restricted hash at all,
+even with the same keys.
+
+    %restricted = (foo => 42);  # error
+
+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.
+
 =head1 Vague ideas
 
 Ideas which have been discussed, and which may or may not happen.
@@ -571,16 +573,6 @@ With C<gdb>, you can attach the debugger to a running program if you
 pass the process ID. It would be good to do this with the Perl debugger
 on a running Perl program, although I'm not sure how it would be done.
 
-=head2 Alternative RE syntax module
-
-    use Regex::Newbie;
-    $re = Regex::Newbie->new
-                       ->start
-                       ->match("foo")
-                       ->repeat(Regex::Newbie->class("char"),3)
-                       ->end;
-    /$re/;
-
 =head2 GUI::Native
 
 A non-core module that would use "native" GUI to create graphical
@@ -623,6 +615,23 @@ The code we ship with Perl should look like good Perl 5.
 These are things which have been on the todo lists in previous releases
 but have recently been completed.
 
+=head2 Alternative RE syntax module
+
+The C<Regexp::English> module, available from the CPAN, provides this:
+
+    my $re = Regexp::English
+    -> start_of_line
+    -> literal('Flippers')
+    -> literal(':')
+    -> optional
+        -> whitespace_char
+    -> end
+    -> remember
+        -> multiple
+            -> digit;
+
+    /$re/;
+
 =head2 Safe signal handling
 
 A new signal model went into 5.7.1 without much fanfare. Operations and
@@ -778,9 +787,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
 
@@ -880,4 +891,11 @@ 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.
+
 =cut