This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
more todo
[perl5.git] / Todo-5.6
1 Bugs
2     fix small memory leaks on compile-time failures
3
4 Unicode support
5     finish byte <-> utf8 and localencoding <-> utf8 conversions
6     make substr($bytestr,0,0,$charstr) do the right conversion
7     add Unicode::Map equivivalent to core
8     add support for I/O disciplines
9         - a way to specify disciplines when opening things:
10             open(F, "<:crlf :utf16", $file)
11         - a way to specify disciplines for an already opened handle:
12             binmode(STDIN, ":slurp :raw")
13         - a way to set default disciplines for all handle constructors:
14             use open IN => ":any", OUT => ":utf8", SYS => ":utf16"
15     eliminate need for "use utf8;"
16     autoload utf8_heavy.pl's swash routines in swash_init()
17     autoload byte.pm when byte:: is seen by the parser
18     check uv_to_utf8() calls for buffer overflow
19
20 Multi-threading
21     support "use Thread;" under useithreads
22     add mechanism to:
23       - create new interpreter in a different thread
24       - exchange data between interpreters/threads
25       - share namespaces between interpreters/threads
26     work out consistent semantics for exit/die in threads
27     support for externally created threads?
28     Thread::Pool?
29
30 Compiler
31     auto-produce executable
32     typed lexicals should affect B::CC::load_pad
33     workarounds to help Win32
34     END blocks need saving in compiled output
35     _AUTOLOAD prodding
36     fix comppadlist (names in comppad_name can have fake SvCUR
37         from where newASSIGNOP steals the field)
38
39 Namespace cleanup
40     CPP-space:    restrict what we export from headers when !PERL_CORE
41     header-space: move into CORE/perl/?
42     API-space:    complete the list of things that constitute public api
43
44 Configure
45     make configuring+building away from source directory work (VPATH et al)
46     _r support
47     cross-compilation configuring
48     POSIX 1003.1 1996 Edition support
49
50 Locales
51     deprecate traditional/legacy locales?
52     figure out how to support Unicode locales
53     locales across packages?
54
55 Regexen
56    make RE engine thread-safe
57    POSIX [=bar=] and [.zap.] would nice too but there's no API for them
58    (=bar= could be done with Unicode, though, see TR about normalization forms)
59    approximate matching
60
61 Security
62     use fchown, fchmod (and futimes?) internally when possible
63     use fchdir(how portable?)
64
65 Reliable Signals
66     custom opcodes
67     alternate runops() for signal despatch
68     figure out how to die() in delayed sighandler
69     make Thread::Signal work under useithreads
70
71 Win32 stuff
72     sort out the spawnvp() mess for system('a','b','c') compatibility
73     work out DLL versioning
74
75 Miscellaneous
76     add new modules (Archive::Tar, Compress::Zlib, CPAN::FTP?)
77     sub-second sleep? (integrate Time::HiRes?)
78     floating point handling: nans, infinities, fp exception masks, etc
79     replace pod2html with new PodtoHtml? (requires other modules from CPAN)
80     automate testing with large parts of CPAN
81     Unicode collation?
82
83 Ongoing
84     keep filenames 8.3 friendly, where feasible
85     upgrade to newer versions of all independently maintained modules
86     comprehensive perldelta.pod
87
88 Documentation
89     describe new age patterns
90     update perl{guts,call,embed,xs} with additions, changes to API
91     document Win32 choices
92     spot-check all new modules for completeness
93     better docs for pack()/unpack()
94     reorg tutorials vs. reference sections