Browse Source

Update my TODO list. In particular, breakdown what I'll be working on
in the next two months.

Manuel Novoa III 23 years ago
parent
commit
eb7c9eb085
1 changed files with 59 additions and 19 deletions
  1. 59 19
      TODO

+ 59 - 19
TODO

@@ -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.