This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
28b146da4c92f001c907d443cf083f4542f3879a
[perl5.git] / Todo-5.6
1 Bugs
2     perl_run() can longjmp out
3     fix small memory leaks on compile-time failures
4
5 Unicode support
6     finish byte <-> utf8 and localencoding <-> utf8 conversions 
7     make substr($bytestr,0,0, $charstr) do the right conversion
8     add Unicode::Map equivivalent to core
9     add support for I/O disciplines
10         - open(F, "<!crlf!utf16", $file)
11         - binmode(STDIN, "<!crlf!utf16")?
12         - a way to set the "system" discipline (binmode("!crlf!utf16") maybe?)
13         - nice IO::Filter module to push/pop disciplines
14     eliminate need for "use utf8;"
15     support C<print v1.2.3>
16     make C<v123> mean C<chr(123)> (if !exists(&v123))
17     autoload utf8_heavy.pl's swash routines in swash_init()
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)
59    approximate matching
60
61 Reliable Signals
62     custom opcodes
63     alternate runops() for signal despatch
64     figure out how to die() in delayed sighandler
65     make Thread::Signal work under useithreads
66
67 Win32 stuff
68     sort out the spawnvp() mess for system('a','b','c') compatibility
69     work out DLL versioning
70
71 Miscellaneous
72     add new modules (Archive::Tar, Compress::Zlib, CPAN::FTP?)
73     replace pod2html with new PodtoHtml? (requires other modules from CPAN)
74     automate testing with large parts of CPAN
75
76 Ongoing
77     keep filenames 8.3 friendly, where feasible
78     upgrade to newer versions of all independently maintained modules
79     comprehensive perldelta.pod
80
81 Documentation
82     describe new age patterns
83     update perl{guts,call,embed,xs} with additions, changes to API
84     document Win32 choices
85     spot-check all new modules for completeness
86     better docs for pack()/unpack()
87     reorg tutorials vs. reference sections