*** empty log message ***
[findutils.git] / TODO
blobff28701c12156d4ac2919006d90976977e6ff21a
1 -*-outline-*-
2 * There are many bugs to be fixed and features to be added to findutils.
3 The current distribution is a snapshot which fixes many
4 problems, but leaves others unsolved.  Many of the known problems are
5 not listed below.  Over the next few releases, I hope to fix more
6 items, and add the unfixed problems below.
8 * Internationalization
9 ** Is ansi2knr internationalized?  Does it need to be?
11 ** Should these files be internationalized?
12         strftime.c
14 ** Should translated long options be offered in locate and xargs?
15 ** updatedb.sh should be internationalized as well
16 ** the Solaris door files are partially supported (e.g. not by -type)
18 * new standards with Austin group
19 ** "-H" and "-L" options to find were added by Austin group standards.
20 They need to be implemented.
22 **Austin added the following options to xargs:
23 -I perhaps replaces -i
25 -L perhaps replaces -l
27 -E slightly different from -e
29 * Should fnmatch.h be a link to fnmatch.h.in?
30 See tar distribution for an example. 
32 * Eliminate unnecessary strcpy calls in xargs.
34 * lib/getline.c
35 getline.c contains a function getstr which is needed in locate,
36 but is not in the standard library.  In fact getstr is in curses.
37 This problem needs to be fixed.  Can getstr be removed?  Can getline.c
38 be optionally included, or is it mandatory?
40 * man pages for frcode, bigram, and code
41 Perhaps a better description in texi pages as well.
43 * Add option for find to sort output in lexical order for use for updatedb
44 olarsac@airfrance.fr (Olivier) made the following suggestion:
46 As I was running thru the code looking for the bug I wondered why the updatedb
47 has to use sort...
48 why not add an option to find that sorts the output in lexical order?
49 my point is:
50 - sort on a big list is costly (here we do locate on big big file system)
51 - find may (in theory) sort incrementally very easily by sorting only the current
52 directory entries before recursion
53 - it would also solve the lack of \0 sort that prevents you to use the -print0
54 to handle \n in file names properly
57 * large file problems
58 depcomp gets added by automake
59 strncasecmp is needed
60 which requires strcasecmp
61 getline.c temporarily removed from Makefile.am
62 remove getline.o from LIBOBJS
63 remove extra AM_FUNC_GETLINE
66 * xargs: allow newline or arbitrary character to separate arguments
67 Tyler 'Crackerjack' MacDonald <yi@yi.org> suggested that it would be
68 nice if newlines could separate arguments to xargs.  This would allow
69 a single line to be used as an argument, regardless of white space,
70 quotes, and backslash.  A function similar to read_string in xargs.c
71 can be written which replaces the line:
73       if (c == '\0')
75 with the appropriate character.
77 * investigate _LIBC when used with TOLOWER and TOUPPER
78 _LIBC is used to determine whether TOLOWER should check isupper first.
79 Is there something better to check?  Alternatively, can tolower be
80 checked at run time to determine whether isupper should be called first.
82 * make findutils multibyte safe
83 Bruno Haible reported many problems with findutils and multibyte.
85 * BeOS problems with multibyte
86 Bruno Haible reported problems with BeOS.
88 * What should be the default value of PRUNEFS in updatedb?
89 Currently, it is:
90 : ${PRUNEFS="nfs NFS proc"}
91 Perhaps it should default to nothing.
93 * Include example of use of updatedb in documentation.
94 Use something close to the Debian daily cron job.
96 * Side effects do not allow the implicit use of -print.
97 Specifically, the use of -prune turns off the implicit use of -print.
98 Look at this line in find.c:
99   else if (!no_side_effects (predicates->pred_next))
100 side_effects really means:
101 predicate which produces output, according to find.c, at least it does
102 some of the time.
103 Two predicates, side_effects, and produce_output
106 * Supply example for time range commands for find.
108                         --//--
109 This is used by Emacs' spell checker ispell.el:
111 LocalWords: ansi knr strftime xargs updatedb sh fnmatch hin strcpy
112 LocalWords: lib getstr getline frcode bigram texi depcomp automake
113 LocalWords: strncasecmp strcasecmp LIBOBJS FUNC findutils Solaris
114 LocalWords: LIBC TOLOWER TOUPPER tolower isupper PRUNEFS
115 LocalWords: nfs proc Debian cron
116 LocalWords: Haible BeOS Crackerjack