(inittables): Use toupper rather than
[platform/upstream/coreutils.git] / TODO
diff --git a/TODO b/TODO
index f734849..3dc9cdd 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,8 +1,4 @@
-restore djgpp, eventually
-merge TODO lists
 add unit tests for lib/*.c
-rewrite lib/ftw.c not to use explicit recursion, and then use nftw in
-  chown, chgrp, chmod, du
 
 strip: add an option to specify the program used to strip binaries.
   suggestion from Karl Berry
@@ -11,8 +7,6 @@ doc/coreutils.texi:
   Address this comment: FIXME: mv's behavior in this case is system-dependent
   Better still: fix the code so it's *not* system-dependent.
 
-implement --target-directory=DIR for install (per texinfo documentation)
-
 ls: add --format=FORMAT option that controls how each line is printed.
 
 cp --no-preserve=X should not attempt to preserve attribute X
@@ -49,33 +43,20 @@ seq: give better diagnostics for invalid formats:
    e.g. no or too many % directives
 seq: consider allowing format string to contain no %-directives
 
-dd: consider adding an option to suppress `bytes/block read/written'
-output to stderr.  Suggested here:
-  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=165045
-
-m4: rename all macros that start with AC_ to start with another prefix
-
 resolve RH report on cp -a forwarded by Tim Waugh
 
-Martin Michlmayr's patch to provide ls with `--sort directory' option
-
-Remove uses of PROTOTYPES
+provide an ls option to do something like `--sort directory'
 
 tail: don't use xlseek; it *exits*.
   Instead, maybe use a macro and return nonzero.
 
 add mktemp?  Suggested by Nelson Beebe
 
-Now that AC_FUNC_LSTAT and AC_FUNC_STAT are in autoconf,
-remove m4/stat.m4 and m4/lstat.m4.
-
 df: alignment problem of `Used' heading with e.g., -mP
   reported by Karl Berry
 
 tr: support nontrivial equivalence classes, e.g. [=e=] with LC_COLLATE=fr_FR
 
-fix tail -f to work with named pipes; reported by Ian D. Allen
-
 lib/strftime.c: Since %N is the only format that we need but that
   glibc's strftime doesn't support, consider using a wrapper that
   would expand /%(-_)?\d*N/ to the desired string and then pass the
@@ -103,8 +84,6 @@ unexpand: [http://www.opengroup.org/onlinepubs/007908799/xcu/unexpand.html]
 Let GNU su use the `wheel' group if appropriate.
   (there are a couple patches, already)
 
-look at sort patches from http://www.math.cas.cz/~kasal/sw/gnu/coreutils/
-
 sort: Investigate better sorting algorithms; see Knuth vol. 3.
 
   We tried list merge sort, but it was about 50% slower than the
@@ -122,3 +101,99 @@ sort: Investigate better sorting algorithms; see Knuth vol. 3.
   algorithm to try next should be merge insertion.  See Knuth section
   5.3.1, who credits Lester Ford, Jr. and Selmer Johnson, American
   Mathematical Monthly 66 (1959), 387-389.
+
+cp --recursive: perform dir traversals in source and dest hierarchy rather
+  than forming full file names.  The latter (current) approach fails
+  unnecessarily when the names become very long.
+
+Remove suspicious uses of alloca (ones that may allocate more than
+   about 4k)
+
+Adapt these contribution guidelines for coreutils:
+  http://sources.redhat.com/automake/contribute.html
+
+
+Changes expected to go in, someday.
+======================================
+
+  dd patch from Olivier Delhomme
+
+  Andreas Gruenbacher's xattr changes
+
+  Apply Bruno Haible's hostname changes
+
+  test/mv/*: clean up $other_partition_tmpdir in all cases
+
+  ls: when both -l and --dereference-command-line-symlink-to-dir are
+  specified, consider whether to let the latter select whether to
+  dereference command line symlinks to directories.  Since -l has
+  an implicit --NO-dereference-command-line-symlink-to-dir meaning.
+  Pointed out by Karl Berry.
+
+  A more efficient version of factor, and possibly one that
+  accepts inputs of size 2^64 and larger.
+
+  dd: consider adding an option to suppress `bytes/block read/written'
+  output to stderr.  Suggested here:
+    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=165045
+
+  Pending copyright papers:
+  ------------------------
+  ls --color: Ed Avis' patch to suppress escape sequences for
+    non-highlighted files
+
+  getpwnam from Bruce Korb
+
+  pb (progress bar) from Miika Pekkarinen
+
+  ------------------------------
+
+Have euidaccess.m4 check for eaccess as well as euidaccess
+If found, then do `#define euidaccess eaccess'.
+
+Remove long-deprecated options.  Search case-insensitive for
+`deprecated' and `remove in '.
+
+Add a distcheck-time test to ensure that every distributed
+file is either read-only(indicating generated) or is
+version-controlled and up to date.
+
+Implement Ulrich Drepper's suggestion to use getgrouplist rather
+  than getugroups.  This affects only `id', but makes a big difference
+  on systems with many users and/or groups, and makes id usable once
+  again on systems where access restrictions make getugroups fail.
+  But first we'll need a run-test (either in an autoconf macro or at
+  run time) to avoid the segfault bug in libc-2.3.2's getgrouplist.
+  In that case, we'd revert to using a new (to-be-written) getgrouplist
+  module that does most of what `id' already does.
+
+remove `%s' notation:
+  grep -E "\`%.{,4}s'" src/*.c
+
+remove or adjust chown's --changes option, since it
+  can't always do what it currently says it does.
+
+Adapt tools like wc, tr, fmt, etc. (most of the textutils) to be
+  multibyte aware.  The problem is that I want to avoid duplicating
+  significant blocks of logic, yet I also want to incur only minimal
+  (preferably `no') cost when operating in single-byte mode.
+
+Remove all uses of the `register' keyword
+
+pr's use of nstrftime can make it malloc a very large (up to SIZE_MAX) buffer
+
+ls.c: use gettime rather than clock_gettime, gettimeofday, time
+
+write rules to deal with c99->c89 patches and to automatically
+  check that they apply cleanly
+
+Use latest automake
+
+----------------
+The command:
+  mv dir new-name/
+should work the same way the underlying
+rename ("dir", "new-name/") call does.
+http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00292.html
+
+----------------