Remove completed perltodo entry
[p5sagit/p5-mst-13.2.git] / pod / perltodo.pod
index 30f17b0..00effc3 100644 (file)
@@ -91,13 +91,6 @@ 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 merge checkpods and podchecker
-
-F<pod/checkpods.PL> (and C<make check> in the F<pod/> subdirectory)
-implements a very basic check for pod files, but the errors it discovers
-aren't found by podchecker. Add this check to podchecker, get rid of
-checkpods and have C<make check> use podchecker.
-
 =head2 Parallel testing
 
 (This probably impacts much more than the core: also the Test::Harness
@@ -126,28 +119,6 @@ tests that are currently missing.
 
 A full test suite for the B module would be nice.
 
-=head2 Deparse inlined constants
-
-Code such as this
-
-    use constant PI => 4;
-    warn PI
-
-will currently deparse as
-
-    use constant ('PI', 4);
-    warn 4;
-
-because the tokenizer inlines the value of the constant subroutine C<PI>.
-This allows various compile time optimisations, such as constant folding
-and dead code elimination. Where these haven't happened (such as the example
-above) it ought be possible to make B::Deparse work out the name of the
-original constant, because just enough information survives in the symbol
-table to do this. Specifically, the same scalar is used for the constant in
-the optree as is used for the constant subroutine, so by iterating over all
-symbol tables and generating a mapping of SV address to constant name, it
-would be possible to provide B::Deparse with this functionality.
-
 =head2 A decent benchmark
 
 C<perlbench> seems impervious to any recent changes made to the perl core. It
@@ -384,14 +355,14 @@ Right now, Configure probes for two commands, and sets two variables:
 
 =over 4
 
-=item * C<cc (cc.U)>
+=item * C<cc> (in F<cc.U>)
 
 This variable holds the name of a command to execute a C compiler which
 can resolve multiple global references that happen to have the same
 name.  Usual values are F<cc> and F<gcc>.
 Fervent ANSI compilers may be called F<c89>.  AIX has F<xlc>.
 
-=item * ld (dlsrc.U)
+=item * C<ld> (in F<dlsrc.U>)
 
 This variable indicates the program to be used to link
 libraries for dynamic loading.  On some systems, it is F<ld>.
@@ -845,6 +816,23 @@ also the warning messages (see L<perllexwarn>, C<warnings.pl>).
 These tasks would need C knowledge, and knowledge of how the interpreter works,
 or a willingness to learn.
 
+=head2 error reporting of [$a ; $b]
+
+Using C<;> inside brackets is a syntax error, and we don't propose to change
+that by giving it any meaning. However, it's not reported very helpfully:
+
+    $ perl -e '$a = [$b; $c];'
+    syntax error at -e line 1, near "$b;"
+    syntax error at -e line 1, near "$c]"
+    Execution of -e aborted due to compilation errors.
+
+It should be possible to hook into the tokeniser or the lexer, so that when a
+C<;> is parsed where it is not legal as a statement terminator (ie inside
+C<{}> used as a hashref, C<[]> or C<()>) it issues an error something like
+I<';' isn't legal inside an expression - if you need multiple statements use a
+do {...} block>. See the thread starting at
+http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-09/msg00573.html
+
 =head2 lexicals used only once
 
 This warns:
@@ -924,11 +912,6 @@ could probably be optimized.
 The old perltodo notes that lvalue functions don't work for list or hash
 slices. This would be good to fix.
 
-=head2 LVALUE functions in the debugger
-
-The old perltodo notes that lvalue functions don't work in the debugger. This
-would be good to fix.
-
 =head2 regexp optimiser optional
 
 The regexp optimiser is not optional. It should configurable to be, to allow