X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltodo.pod;h=eea756b64106c0b2c50a1c97c99c5d9b02915f52;hb=a08f42e9ba7f15d15d2c01f54d34c1e0cef4510c;hp=94c4f9d61f6594ddf805bde6d892caf0c56839e8;hpb=b2ce41205b13ec60dc055bdd1a441b5cf85fbff4;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltodo.pod b/pod/perltodo.pod index 94c4f9d..eea756b 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -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 @@ -148,7 +148,7 @@ Reader-writer locks, realtime/asynchronous IO =head2 IPv6 Support -There are non-core modules, such as C, but these will need +There are non-core modules, such as C, but these will need integrating when IPv6 actually starts to really happen. See RFC 2292 and RFC 2553. @@ -186,6 +186,22 @@ C and C<[fg]oo> by hand; this could be done automatically. All the code we ship with Perl needs to be sensible about temporary file handling, locking, input validation, and so on. +=head2 Sort out the uid-setting mess + +Currently there are several problems with the setting of uids ($<, $> +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 +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 +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-- 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 @@ -223,7 +239,7 @@ C<&>, C, C and C. =head2 Replace pod2html with something using Pod::Parser -The CPAN module C may be a more suitable basis for a +The CPAN module C may be a more suitable basis for a C convertor; the current one duplicates the functionality abstracted in C, which makes updating the POD language difficult. @@ -287,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. -=head2 pack "(stuff)*" - -That's to say, C would be the same as C - =head2 bitfields in pack =head2 Cross compilation @@ -464,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: maybe a @@ -517,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. @@ -555,16 +573,6 @@ With C, 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 @@ -607,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 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 @@ -762,9 +787,11 @@ Damian Conway's text formatting modules seem to be the Way To Go. =head2 Generalised want()/caller()) +Robin Houston's C 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 @@ -864,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