In perl.git, the branch nicholas/todo-prune-pass-0 has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/69fef8ac0a29428b1b688db66487f1345ddc031e?hp=f361baee78c6ce1b9e5bf528d45084ad804d878a>

- Log -----------------------------------------------------------------
commit 69fef8ac0a29428b1b688db66487f1345ddc031e
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri Mar 30 18:55:37 2012 +0200

    Remove two specific smartmatch suggestions from the todo list.
    
    As smartmatch is "subject to review" these are unlikely to be appropriate.

M       Porting/todo.pod

commit c53091f6d290fdd514c5cd21db8bcd506b3207dc
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri Mar 30 18:35:52 2012 +0200

    5.12.0 and later permit -C on the #! line with similar rules to -T
    
    Whilst this isn't as totally flexible as it might be, it's good enough to
    remove the todo entry, which was added when -C was forbidden on the #! line.
    However, making -C parsing on the #! more flexible probably requires
    removing the "feature" that a C<#line 1> directive triggers re-processing
    of #! directives.

M       Porting/todo.pod

commit f2fe9e1771ad0486e9d120a82265755adcf78d0d
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri Mar 30 18:22:50 2012 +0200

    Remove the reference to -fstack-protector, which is done.
    
    Exploring the use of -D_FORTIFY_SOURCE=2 remains to be done.

M       Porting/todo.pod

commit 50a7f897d645ef4d5befe3dc9544689b0862f9ce
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri Mar 30 18:07:34 2012 +0200

    Remove the "POD -> HTML conversion in the core still sucks" todo entry.
    
    Thanks to GSoC 2011, Pod::HTML has been refactored to use 
Pod::Simple::XHTML.

M       Porting/todo.pod

commit 3ed2a851de4146c86512ebf604ae1a4a880492bb
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri Mar 30 17:01:39 2012 +0200

    Update the todo entry for makedef.pl duplicating C conditional compilation.
    
    makedef.pl has been refactored to read from embed.fnc directly, cutting out
    the embed.pl middleman. Correct the header filename - it's "intrpvar.h",
    not "interpvar.h".

M       Porting/todo.pod

commit 69f7c8f60fb6c59217008c28dbf3d417eedfd6d3
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri Mar 30 15:54:00 2012 +0200

    Remove "Remove duplication of test setup" from the todo list.
    
    It's no longer obvious which files in t/ contain significant amounts of
    setup code which is duplicated. Common cases of skip logic have already been
    moved into t/test.pl. The suggestion of replacing $Is_Foo checks with %Is is
    not a clear-cut win - each $Is_Foo eliminated is only a 1 line saving, at 
the
    cost of another testing idiom the future maintenance programmer has to 
become
    familiar with.
    
    The related suggestion "Migrate t/ from custom TAP generation" remains
    something to do. There are still various files in t/ which could use be
    converted to use the comparison functions of t/test.pl reducing code size,
    improving failure diagnostics and where this eliminates manual test 
counters,
    increasing flexibility for adding tests in the logically correct location
    within the file.

M       Porting/todo.pod
-----------------------------------------------------------------------

Summary of changes:
 Porting/todo.pod |   67 ++++++++++-------------------------------------------
 1 files changed, 13 insertions(+), 54 deletions(-)

diff --git a/Porting/todo.pod b/Porting/todo.pod
index 130f5fa..29c6276 100644
--- a/Porting/todo.pod
+++ b/Porting/todo.pod
@@ -56,25 +56,6 @@ automated with a bit of perl, specifically the generation of
 
 See F<Porting/how_to_write_a_perldelta.pod> for details.
 
-=head2 Remove duplication of test setup.
-
-Schwern notes, that there's duplication of code - lots and lots of tests have
-some variation on the big block of C<$Is_Foo> checks.  We can safely put this
-into a file, change it to build an C<%Is> hash and require it.  Maybe just put
-it into F<test.pl>. Throw in the handy tainting subroutines.
-
-=head2 POD -E<gt> HTML conversion in the core still sucks
-
-Which is crazy given just how simple POD purports to be, and how simple HTML
-can be. It's not actually I<as> simple as it sounds, particularly with the
-flexibility POD allows for C<=item>, but it would be good to improve the
-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 Make Schwern poorer
 
 We should have tests for everything. When all the core's modules are tested,
@@ -121,17 +102,16 @@ Ilya observed that use POSIX; eats memory like there's no 
tomorrow, and at
 various times worked to cut it down. There is probably still fat to cut out -
 for example POSIX passes Exporter some very memory hungry data structures.
 
-=head2 embed.pl/makedef.pl
+=head2 makedef.pl and conditional compilation
 
-There is a script F<embed.pl> that generates several header files to prefix
-all of Perl's symbols in a consistent way, to provide some semblance of
-namespace support in C<C>. Functions are declared in F<embed.fnc>, variables
-in F<interpvar.h>. Quite a few of the functions and variables
-are conditionally declared there, using C<#ifdef>. However, F<embed.pl>
-doesn't understand the C macros, so the rules about which symbols are present
-when is duplicated in F<makedef.pl>. Writing things twice is bad, m'kay.
-It would be good to teach C<embed.pl> to understand the conditional
-compilation, and hence remove the duplication, and the mistakes it has caused.
+The script F<makedef.pl> that generates the list of exported symbols on
+platforms which need this. Functions are declared in F<embed.fnc>, variables
+in F<intrpvar.h>. Quite a few of the functions and variables are conditionally
+declared there, using C<#ifdef>. However, F<makedef.pl> doesn't understand the
+C macros, so the rules about which symbols are present when is duplicated in
+the Perl code. Writing things twice is bad, m'kay. It would be good to teach
+F<.pl> to understand the conditional compilation, and hence remove the
+duplication, and the mistakes it has caused.
 
 =head2 use strict; and AutoLoad
 
@@ -520,14 +500,13 @@ ever creep back to libperl.a.
 Note, of course, that this will only tell whether B<your> platform
 is using those naughty interfaces.
 
-=head2 -D_FORTIFY_SOURCE=2, -fstack-protector
+=head2 -D_FORTIFY_SOURCE=2
 
-Recent glibcs support C<-D_FORTIFY_SOURCE=2> and recent gcc
-(4.1 onwards?) supports C<-fstack-protector>, both of which give
+Recent glibcs support C<-D_FORTIFY_SOURCE=2> which gives
 protection against various kinds of buffer overflow problems.
-These should probably be used for compiling Perl whenever available,
+It should probably be used for compiling Perl whenever available,
 Configure and/or hints files should be adjusted to probe for the
-availability of these features and enable them as appropriate.
+availability of these feature and enable it as appropriate.
 
 =head2 Arenas for GPs? For MAGIC?
 
@@ -793,14 +772,6 @@ readlink().
 
 See also L</"Virtualize operating system access">.
 
-=head2 -C on the #! line
-
-It should be possible to make -C work correctly if found on the #! line,
-given that all perl command line options are strict ASCII, and -C changes
-only the interpretation of non-ASCII characters, and not for the script file
-handle. To make it work needs some investigation of the ordering of function
-calls during startup, and (by implication) a bit of tweaking of that order.
-
 =head2 Organize error messages
 
 Perl's diagnostics (error messages, see L<perldiag>) could use
@@ -848,13 +819,6 @@ bareword expressions after a "goto" as a label and never 
as a keyword.
 The prototype of truncate() is currently C<$$>. It should probably
 be C<*$> instead. (This is changed in F<opcode.pl>)
 
-=head2 decapsulation of smart match argument
-
-Currently C<$foo ~~ $object> will die with the message "Smart matching a
-non-overloaded object breaks encapsulation". It would be nice to allow
-to bypass this by using explicitly the syntax C<$foo ~~ %$object> or
-C<$foo ~~ @$object>.
-
 =head2 error reporting of [$a ; $b]
 
 Using C<;> inside brackets is a syntax error, and we don't propose to change
@@ -918,11 +882,6 @@ implement the necessary code in Perl 5. There are comments 
in
 C<Perl_newASSIGNOP()> that show the code paths taken by various assignment
 constructions involving state variables.
 
-=head2 Implement $value ~~ 0 .. $range
-
-It would be nice to extend the syntax of the C<~~> operator to also
-understand numeric (and maybe alphanumeric) ranges.
-
 =head2 A does() built-in
 
 Like ref(), only useful. It would call the C<DOES> method on objects; it

--
Perl5 Master Repository

Reply via email to