summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2007-03-22 21:23:21 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2007-03-22 21:23:21 +0000
commitcbf5993c43f49281173f185863577d86bfac6eae (patch)
tree90737c96cf15b97273a2bdc5950b3cf09f1d94ca /TODO
downloadcoreutils-tarball-cbf5993c43f49281173f185863577d86bfac6eae.tar.gz
coreutils-6.9coreutils-6.9
Diffstat (limited to 'TODO')
-rw-r--r--TODO198
1 files changed, 198 insertions, 0 deletions
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..0e62630
--- /dev/null
+++ b/TODO
@@ -0,0 +1,198 @@
+stty.c:
+ use xstrtoul, not sscanf
+
+printf:
+ Now that gnulib supports *printf("%a"), import one of the
+ *printf-posix modules so that printf(1) will support %a even on
+ platforms where the native *printf(3) is deficient.
+ Suggestion form Eric Blake.
+
+strip: add an option to specify the program used to strip binaries.
+ suggestion from Karl Berry
+
+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.
+
+ls: add --format=FORMAT option that controls how each line is printed.
+
+cp --no-preserve=X should not attempt to preserve attribute X
+ reported by Andreas Schwab
+
+copy.c: Address the FIXME-maybe comment in copy_internal.
+And once that's done, add an exclusion so that `cp --link'
+no longer incurs the overhead of saving src. dev/ino and dest. filename
+in the hash table.
+
+See if we can be consistent about where --verbose sends its output:
+ These all send --verbose output to stdout:
+ head, tail, rm, cp, mv, ln, chmod, chown, chgrp, install, ln
+ These send it to stderr:
+ shred mkdir split
+ readlink is different
+
+Write an autoconf test to work around build failure in HPUX's 64-bit mode.
+See notes in README -- and remove them once there's a work-around.
+
+Integrate use of sendfile, suggested here:
+ http://mail.gnu.org/archive/html/bug-fileutils/2003-03/msg00030.html
+I don't plan to do that, since a few tests demonstrate no significant benefit.
+
+Should printf '\0123' print "\n3"?
+ per report from TAKAI Kousuke on Mar 27
+ http://mail.gnu.org/archive/html/bug-coreutils/2003-03/index.html
+
+printf: consider adapting builtins/printf.def from bash
+
+df: add `--total' option, suggested here http://bugs.debian.org/186007
+
+seq: give better diagnostics for invalid formats:
+ e.g. no or too many % directives
+seq: consider allowing format string to contain no %-directives
+
+resolve RH report on cp -a forwarded by Tim Waugh
+
+tail: don't use xlseek; it *exits*.
+ Instead, maybe use a macro and return nonzero.
+
+add mktemp? Suggested by Nelson Beebe
+
+tr: support nontrivial equivalence classes, e.g. [=e=] with LC_COLLATE=fr_FR
+
+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
+ resulting string to glibc's strftime.
+
+sort: Compress temporary files when doing large external sort/merges.
+ This improves performance when you can compress/uncompress faster than
+ you can read/write, which is common in these days of fast CPUs.
+ suggestion from Charles Randall on 2001-08-10
+
+unexpand: [http://www.opengroup.org/onlinepubs/007908799/xcu/unexpand.html]
+ printf 'x\t \t y\n'|unexpand -t 8,9 should print its input, unmodified.
+ printf 'x\t \t y\n'|unexpand -t 5,8 should print "x\ty\n"
+
+Let GNU su use the `wheel' group if appropriate.
+ (there are a couple patches, already)
+
+sort: Investigate better sorting algorithms; see Knuth vol. 3.
+
+ We tried list merge sort, but it was about 50% slower than the
+ recursive algorithm currently used by sortlines, and it used more
+ comparisons. We're not sure why this was, as the theory suggests it
+ should do fewer comparisons, so perhaps this should be revisited.
+ List merge sort was implemented in the style of Knuth algorithm
+ 5.2.4L, with the optimization suggested by exercise 5.2.4-22. The
+ test case was 140,213,394 bytes, 426,4424 lines, text taken from the
+ GCC 3.3 distribution, sort.c compiled with GCC 2.95.4 and running on
+ Debian 3.0r1 GNU/Linux, 2.4GHz Pentium 4, single pass with no
+ temporary files and plenty of RAM.
+
+ Since comparisons seem to be the bottleneck, perhaps the best
+ 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 '. Automate this.
+
+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. Or just avoid the
+ buggy use of getgrouplist by never passing it a buffer of length zero.
+ See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=200327
+
+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
+
+-----
+
+Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+Inc.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.