This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
embed.fnc: Mark unlnk as Core only
[perl5.git] / Porting / todo.pod
index f0f01cb..9a7ce0a 100644 (file)
@@ -5,7 +5,7 @@ todo - Perl TO-DO list
 =head1 DESCRIPTION
 
 This is a list of wishes for Perl. The most up to date version of this file
-is at L<http://perl5.git.perl.org/perl.git/blob_plain/HEAD:/Porting/todo.pod>
+is at L<https://github.com/Perl/perl5/blob/blead/Porting/todo.pod>.
 
 The tasks we think are smaller or easier are listed first. Anyone is welcome
 to work on any of these, but it's a good idea to first contact
@@ -25,17 +25,18 @@ programming languages offer you 1 line of immortality?
 
 =head1 Tasks that only need Perl knowledge
 
-=head2 Classify bug tickets by type
+=head2 Label bug tickets by type
 
-Known bugs in Perl are tracked by L<https://rt.perl.org/> (which also
-includes Perl 6).  A summary can be found at
-L<https://rt.perl.org/NoAuth/perl5/Overview.html>.
-It shows bugs classified by "type".  However, the type of many of the
-bugs is "unknown".  This greatly lowers the chances of them getting
+Known bugs in Perl are tracked by L<https://github.com/Perl/perl5/issues>.
+It shows bugs and can be filtered by assigned labels.  However, many are
+L<unlabeled|https://github.com/Perl/perl5/issues?q=is%3Aopen+is%3Aissue+no%3Alabel>
+or have the label L<"Needs Triage"|https://github.com/Perl/perl5/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+Triage%22>.
+This greatly lowers the chances of them getting
 fixed, as the number of open bugs is overwhelming -- too many to wade
 through for someone to try to find the bugs in the parts of
 Perl that s/he knows well enough to try to fix.  This task involves
-going through these bugs and classifying them into one or more types.
+going through these bugs and assigning one or more labels, and removing the
+"Needs Triage" label if present.
 
 =head2 Ongoing: investigate new bug reports
 
@@ -44,8 +45,8 @@ a quick investigation to see if it is a real problem, and to reply to
 the poster about it, asking for example code that reproduces the
 problem.  Such code should be added to the test suite as TODO tests, and
 the ticket should be classified by type.  To get started on this task,
-look at the tickets that are marked as "New Issues" in
-L<https://rt.perl.org/NoAuth/perl5/Overview.html>.
+look at the issues with no comments at
+L<https://github.com/Perl/perl5/issues?q=is%3Aopen+is%3Aissue+comments%3A0>.
 
 =head2 Migrate t/ from custom TAP generation
 
@@ -485,7 +486,7 @@ Natively 64-bit systems need neither -Duse64bitint nor -Duse64bitall.
 On these systems, it might be the default compilation mode, and there
 is currently no guarantee that passing no use64bitall option to the
 Configure process will build a 32bit perl. Implementing -Duse32bit*
-options would be nice for perl 5.25.2.
+options would be nice for perl 5.33.1.
 
 =head2 Profile Perl - am I hot or not?
 
@@ -507,12 +508,6 @@ suggest evictions and promotions to achieve a better F<pp_hot.c>.
 
 One piece of Perl code that might make a good testbed is F<installman>.
 
-=head2 Improve win32/wince.c
-
-Currently, numerous functions look virtually, if not completely,
-identical in both F<win32/wince.c> and F<win32/win32.c> files, which can't
-be good.
-
 =head2 Use secure CRT functions when building with VC8 on Win32
 
 Visual C++ 2005 (VC++ 8.x) deprecated a number of CRT functions on the basis
@@ -544,7 +539,7 @@ read-only attribute).
 
 Furthermore, POSIX::access() behaves differently for directories having the
 read-only attribute set depending on what CRT library is being used. For
-example, the _access() function in the VC6 and VC7 CRTs (wrongly) claim that
+example, the _access() function in the VC7 CRT (wrongly) claims that
 such directories are not writable, whereas in fact all directories are writable
 unless access is denied by DACLs. (In the case of directories, the read-only
 attribute actually only means that the directory cannot be deleted.) This CRT
@@ -951,26 +946,15 @@ Logically all lexicals used only once should warn, if the user asks for
 warnings.  An unworked RT ticket (#5087) has been open for almost seven
 years for this discrepancy.
 
-=head2 UTF-8 revamp
-
-The handling of Unicode is unclean in many places.  In the regex engine
-there are especially many problems.  The swash data structure could be
-replaced my something better.  Inversion lists and maps are likely
-candidates.  The whole Unicode database could be placed in-core for a
-huge speed-up.  Only minimal work was done on the optimizer when utf8
-was added, with the result that the synthetic start class often will
-fail to narrow down the possible choices when given non-Latin1 input.
-Karl Williamson has been working on this - talk to him.
-
 =head2 state variable initialization in list context
 
 Currently this is illegal:
 
     state ($a, $b) = foo(); 
 
-In Perl 6, C<state ($a) = foo();> and C<(state $a) = foo();> have different
+In Raku, C<state ($a) = foo();> and C<(state $a) = foo();> have different
 semantics, which is tricky to implement in Perl 5 as currently they produce
-the same opcode trees. The Perl 6 design is firm, so it would be good to
+the same opcode trees. The Raku design is firm, so it would be good to
 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.
@@ -1050,7 +1034,7 @@ The old perltodo notes "Look at the "reification" code in C<av.c>".
 Implement a set of "vtables" that virtualizes operating system access
 (chdir(), chmod(), dbmopen(), getenv(), glob(), link(), mkdir(), open(),
 opendir(), readdir(), rename(), rmdir(), stat(), sysopen(), uname(),
-unlink(), etc.)  At the very least these interfaces should take SVs as
+unlink(), etc.).  At the very least these interfaces should take SVs as
 "name" arguments instead of bare char pointers; probably the most
 flexible and extensible way would be for the Perl-facing interfaces to
 accept HVs.  The system needs to be per-operating-system and
@@ -1205,7 +1189,7 @@ L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-01/msg00339.html>
 =head1 Big projects
 
 Tasks that will get your name mentioned in the description of the "Highlights
-of 5.25.2"
+of 5.33.1"
 
 =head2 make ithreads more robust