Commit | Line | Data |
56d7751a |
1 | Bugs |
56d7751a |
2 | fix small memory leaks on compile-time failures |
3 | |
6dd11d31 |
4 | Unicode support |
d1edabcf |
5 | finish byte <-> utf8 and localencoding <-> utf8 conversions |
6 | make substr($bytestr,0,0,$charstr) do the right conversion |
6dd11d31 |
7 | add Unicode::Map equivivalent to core |
8 | add support for I/O disciplines |
d1edabcf |
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" |
6dd11d31 |
15 | eliminate need for "use utf8;" |
6dd11d31 |
16 | autoload utf8_heavy.pl's swash routines in swash_init() |
d1edabcf |
17 | autoload byte.pm when byte:: is seen by the parser |
560a288e |
18 | check uv_to_utf8() calls for buffer overflow |
1d82895f |
19 | (see also "Locales", "Regexen", and "Miscellaneous" ) |
6dd11d31 |
20 | |
d7d0d977 |
21 | Multi-threading |
6dd11d31 |
22 | support "use Thread;" under useithreads |
23 | add mechanism to: |
24 | - create new interpreter in a different thread |
25 | - exchange data between interpreters/threads |
26 | - share namespaces between interpreters/threads |
27 | work out consistent semantics for exit/die in threads |
28 | support for externally created threads? |
29 | Thread::Pool? |
d7d0d977 |
30 | |
31 | Compiler |
32 | auto-produce executable |
33 | typed lexicals should affect B::CC::load_pad |
34 | workarounds to help Win32 |
d7d0d977 |
35 | END blocks need saving in compiled output |
36 | _AUTOLOAD prodding |
25f62d1c |
37 | fix comppadlist (names in comppad_name can have fake SvCUR |
38 | from where newASSIGNOP steals the field) |
d7d0d977 |
39 | |
5152d7c7 |
40 | Namespace cleanup |
6dd11d31 |
41 | CPP-space: restrict what we export from headers when !PERL_CORE |
42 | header-space: move into CORE/perl/? |
43 | API-space: complete the list of things that constitute public api |
5152d7c7 |
44 | |
45ebb638 |
45 | Configure |
46 | make configuring+building away from source directory work (VPATH et al) |
47 | _r support |
48 | cross-compilation configuring |
1d82895f |
49 | POSIX 1003.1 1996 Edition support--realtime stuff: |
50 | POSIX semaphores, message queues, shared memory, realtime clocks, |
51 | timers, signals (the metaconfig units mostly already exist for these) |
52 | UNIX98 support: reader-writer locks, realtime/asynchronous IO |
45ebb638 |
53 | |
54 | Locales |
6dd11d31 |
55 | deprecate traditional/legacy locales? |
56 | figure out how to support Unicode locales |
1d82895f |
57 | suggestion: integrate the IBM Classes for Unicode (ICU) |
58 | http://www10.software.ibm.com/developerworks/opensource/icu/index.html |
59 | and check out also the Locale Converter: |
60 | http://alphaworks.ibm.com/tech/localeconverter |
11eeea96 |
61 | locales across packages? |
45ebb638 |
62 | |
63 | Regexen |
6dd11d31 |
64 | make RE engine thread-safe |
b8c5462f |
65 | POSIX [=bar=] and [.zap.] would nice too but there's no API for them |
1d82895f |
66 | =bar= could be done with Unicode, though, see the Unicode TR #15 about |
67 | normalization forms: |
68 | http://www.unicode.org/unicode/reports/tr15/ |
69 | this is also a part of the Unicode 3.0: |
70 | http://www.unicode.org/unicode/uni2book/u2.html |
71 | executive summary: there are several different levels of 'equivalence' |
45ebb638 |
72 | approximate matching |
73 | |
19e16c31 |
74 | Security |
75 | use fchown, fchmod (and futimes?) internally when possible |
76 | use fchdir(how portable?) |
77 | |
5152d7c7 |
78 | Reliable Signals |
54aff467 |
79 | custom opcodes |
5152d7c7 |
80 | alternate runops() for signal despatch |
81 | figure out how to die() in delayed sighandler |
6dd11d31 |
82 | make Thread::Signal work under useithreads |
5152d7c7 |
83 | |
84 | Win32 stuff |
6dd11d31 |
85 | sort out the spawnvp() mess for system('a','b','c') compatibility |
5152d7c7 |
86 | work out DLL versioning |
5152d7c7 |
87 | |
88 | Miscellaneous |
0ff51efc |
89 | add new modules (Archive::Tar, Compress::Zlib, CPAN::FTP?) |
1d82895f |
90 | sub-second sleep? alarm? time? (integrate Time::HiRes?) |
19e16c31 |
91 | floating point handling: nans, infinities, fp exception masks, etc |
6dd11d31 |
92 | replace pod2html with new PodtoHtml? (requires other modules from CPAN) |
245ccdfc |
93 | automate testing with large parts of CPAN |
19e16c31 |
94 | Unicode collation? |
245ccdfc |
95 | |
96 | Ongoing |
97 | keep filenames 8.3 friendly, where feasible |
98 | upgrade to newer versions of all independently maintained modules |
9cc29783 |
99 | comprehensive perldelta.pod |
5152d7c7 |
100 | |
d7d0d977 |
101 | Documentation |
5152d7c7 |
102 | describe new age patterns |
103 | update perl{guts,call,embed,xs} with additions, changes to API |
c6018dae |
104 | convert more examples to use autovivified filehandles |
5152d7c7 |
105 | document Win32 choices |
5152d7c7 |
106 | spot-check all new modules for completeness |
11162842 |
107 | better docs for pack()/unpack() |
245ccdfc |
108 | reorg tutorials vs. reference sections |