diff options
-rw-r--r-- | TODO | 78 |
1 files changed, 59 insertions, 19 deletions
@@ -24,29 +24,69 @@ Erik's TODO list for the next release: ----------------------------------------------------------------------------- Manuel's todo: -Test ungetwc. -Implement %lc (%C) and %ls (%S) handling for printf. -Implement grouping support and locale-specific radix. -Deal with mb format string issues in printf, scanf, strftime (at least). -Implement wide formatted output. -Reimplement scanf for narrow and wide streams. -Implement any other missing standard functions from wchar.h. -Improve customization of the new stdio code. -Clean up locale code and make it easier to build. (Fix alt_digits!) -Add collation support (initally for 8-bit locales) and implement strxfrm and strcoll. -Reimlement strerror and strsignal. -tzfile? -era support in strftime/strptime? - -Reimplement _dtostr to correct its deficiencies (%A support!) and hopefully reduce its size. - -Older stuff... +In the next couple of months, I plan on completing the wide char and locale +support. Here's my current list of things to implement by early November. + + 1) Little things that need fixing: + ---------------------------------- + a) Use locale decimal point in *printf() and strto*d() -- slightly + complicated by the fact that at least one locale uses a wchar + radix that does not map to a single byte in UTF-8. + b) Use locale digit grouping in *printf(). + c) Implement %lc (%C) and %ls (%S) handling for printf. + d) Deal with mb format string issues in printf, scanf, + strftime (at least). + e) Implement wcwidth() and wcswidth() -- use Markus Kuhn's versions. + + 2) Implement wide char numeric conversion functions -- wcsto*(). + ---------------------------------------------------------------- + These should be relatively minor modifications to the corresponding + strto*() functions, unless locale specific alternate digit support + is desired. + + 3) Implement wide formatted output -- *wprintf(): + ------------------------------------------------- + The stream output variants should be easily created by appropriately + modifying the char *printf() functions. + + The string buffer variants may take some time to implement because + they need to store wchars in a buffer. It will be necessary to hack + the core stdio code slightly to support this. + + 4) Reimplement scanf for narrow and wide streams. + ------------------------------------------------- + The current char version of scanf() needs some cleanup. Also, + modifying the char version of scanf() to create the wchar versions + will require reworking the implementation of matching char sets + (enclosed in []). + + Also, as with *wprintf() above, the string buffer variants of wscanf() + may require some additional work to the core stdio code. + + 5) Additional str{f|p}time issues. + ---------------------------------- + Support locale specific alternate digits. + Support locale era in year designations. + + 6) Other locale issues (my implementation): + ------------------------------------------- + a) Clean up locale code to make building easier. Fix alt_digits. + (Note: This is only _clean_up_ of the current stuff in extra/locale + so that it can be cross-compiled, etc. I'm not talking about the + complete rewrite that should really be done.) + b) Additional clean up of ctype and wctype. + c) Implement collation support for char and wchar -- *xfrm() and *coll(). + d) transliteration of unsupported wchars in 8-bit locales (like glibc). + + +Other stuff: + +Reimplement _dtostr to correct its deficiencies (%A support!) and hopefully + reduce its size. Move the target-specific sysconf.c generator to extra (as it needs to be run on the target) and fix libc/unistd/Makefile. -Add a usage message to the gcc wrapper. - Make errno and endptr handling the default in the strto* functions and document how to turn those off to save space. |