Re-attempt to clear the hash in S_hfreeentries if anything adds to it.
[p5sagit/p5-mst-13.2.git] / pod / perltodo.pod
index 59ca063..a8a6d79 100644 (file)
@@ -25,22 +25,14 @@ programming languages offer you 1 line of immortality?
 The roadmap to 5.10 envisages feature based releases, as various items in this
 TODO are completed.
 
-=head2 Needed for a 5.9.3 release
-
-=over
-
-=item *
-Implement L</lexical pragmas>
-
-=back
-
 =head2 Needed for a 5.9.4 release
 
 =over
 
 =item *
-Review assertions. Review syntax to combine assertions. Can assertions  take
-advantage of the lexical pragams work? L</What hooks would assertions need?>
+
+Review assertions. Review syntax to combine assertions. Assertions could take
+advantage of the lexical pragmas work. L</What hooks would assertions need?>
 
 =back
 
@@ -77,6 +69,9 @@ visual appeal of the HTML generated, and to avoid it having any validation
 errors. See also L</make HTML install work>, as the layout of installation tree
 is needed to improve the cross-linking.
 
+The addition of C<Pod::Simple> and its related modules may make this task
+easier to complete.
+
 =head2 Parallel testing
 
 The core regression test suite is getting ever more comprehensive, which has
@@ -366,14 +361,6 @@ typically requiring 4 byte alignment, and then an odd C<bool> later on.
 to review the ordering of the variables, to see how much alignment padding can
 be removed.
 
-=head2 repeated code in filetest operators
-
-F<pp_sys.c> has a lot of partially repeated code in the filetest operators (for
-example C<pp_ftrowned>, C<pp_ftzero>, C<pp_ftsize>, and C<pp_ftmtime>,
-C<pp_ftatime>, C<pp_ftctime>). It would be good to investigate whether some
-of this could be refactored out into common static functions. A similar
-refactoring on F<utf8.c> saved about 1.5K of object code size.
-
 =head2 bincompat functions
 
 There are lots of functions which are retained for binary compatibility.
@@ -549,10 +536,8 @@ or a willingness to learn.
 
 =head2 lexical pragmas
 
-Reimplement the mechanism of lexical pragmas to be more extensible. Fix
-current pragmas that don't work well (or at all) with lexical scopes or in
-run-time eval(STRING) (C<sort>, C<re>, C<encoding> for example). MJD has a
-preliminary patch that implements this.
+Document the new support for lexical pragmas in 5.9.3 and how %^H works.
+Maybe C<re>, C<encoding>, maybe other pragmas could be made lexical.
 
 =head2 Attach/detach debugger from running program
 
@@ -561,16 +546,6 @@ 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." ssh and screen do this with named pipes in /tmp. Maybe we can too.
 
-=head2 inlining autoloaded constants
-
-Currently the optimiser can inline constants when expressed as subroutines
-with prototype ($) that return a constant. Likewise, many packages wrapping
-C libraries export lots of constants as subroutines which are AUTOLOADed on
-demand. However, these have no prototypes, so can't be seen as constants by
-the optimiser. Some way of cheaply (low syntax, low memory overhead) to the
-perl compiler that a name is a constant would be great, so that it knows to
-call the AUTOLOAD routine at compile time, and then inline the constant.
-
 =head2 Constant folding
 
 The peephole optimiser should trap errors during constant folding, and give
@@ -651,12 +626,6 @@ instated.
 
 The old perltodo notes "Look at the "reification" code in C<av.c>".
 
-=head2 switch ops
-
-The old perltodo notes "Although we have C<Switch.pm> in core, Larry points to
-the dormant C<nswitch> and C<cswitch> ops in F<pp.c>; using these opcodes would
-be much faster."
-
 =head2 What hooks would assertions need?
 
 Assertions are in the core, and work. However, assertions needed to be added
@@ -670,8 +639,6 @@ the imagination of future CPAN authors.
 
 
 
-
-
 =head1 Big projects
 
 Tasks that will get your name mentioned in the description of the "Highlights