1 Things that would be nice but aren't really necessary:
3 0. Update the documentation.
5 XX Come up with an easier way to install this thing. There are now
6 lots of options and dependent flags to set. Should I worry too
9 XX Properly handle commands like `man 3f intro' when the name of the
10 file we want is something like .../man3/intro.3f. The way this is
11 done right now seems sort of kludgey but it mostly works. See
14 2. Malloc everything instead of having fixed limits... Or at least
15 check the limits everywhere. If you're paranoid about this, make
16 the limits big (famous last words: really, there aren't that many
17 things that could go wrong :-).
19 3. Try to do a little better job of memory management. There are a
20 lot of little temporary strings that are malloc'd and never freed.
21 This is probably ok for a standalone program but not so good if
22 you wanted to call man() from another program.
24 XX Come up with a clear view of the cat directory file permissions
25 problem. What's a good solution, other than having man run setuid
26 to some special user? (Make directories writable by all, cat
29 XX Allow a compile time option that makes man run setuid to some
30 other user that owns all the cat pages, so that they don't have to
33 XX Allow man to deal with compressed (.Z) frozen (.F) and yabba (.Y)
34 cat files. Frozen files are compressed files using freeze/melt,
35 some combination of LZW and tree coding. Sources for it came out
36 on comp.sources.misc or alt.sources or ... a few months ago.
37 Yabba files are compressed using yabba/unyabba, a data compression
38 scheme posted to alt.sources by Dan Bernstein.
40 XX Choose a more reasonable default for the search order. Perhaps
41 this: 1, n, l, 6, 8, 2, 3, 4, 5, 7, p, o
43 XX Fix glob.c so it doesn't need alloca, and/or fix it so that it can
47 #define alloca __builtin_alloca
54 XX Add some way to automatically to run preprocessors. The Sun man
55 program has a convention that the first line of the man page can
56 indicate which preprocessors should be run. Here's an excerpt from
59 Preprocessing Manual Pages
60 If the first line is a string of the form:
64 where X is separated from the the `"' by a single SPACE and
65 consists of any combination of characters in the following
66 list, man pipes its input to troff(1) or nroff(1) through
67 the corresponding preprocessors.
69 e eqn(1), or neqn for nroff
71 t tbl(1), and col(1V) for nroff
74 If eqn or neqn is invoked, it will automatically read the
75 file /usr/pub/eqnchar (see eqnchar(7)).
77 XX Have manpath stat() the directories in MANPATH to avoid including
78 directories that don't exist. Some versions of man and whatis
79 complain when the directories (like /usr/new/man) don't exist.
81 XX Pipe the output of apropos and whatis through a pager.
83 XX I've been using your man(1) package for a while now and I ran into
84 a problem with the X man pages that use tbl commands. Is it
85 possible to configure your man(1) package to use a general command
86 string. For example, a user could set an environment variable:
88 setenv ROFFLINE 'pic $* | tbl | nroff -man'
90 13. Fix makewhatis so that it can handle stuff like this (from the
93 .TH XmRowColumn 3X "" "" "" ""
96 \fBXmRowColumn \(em the RowColumn widget class.\fP
99 .iX "widget class" "RowColumn"
103 14. Consider changing the format of the awk command's printf to use
104 "%s" instead of the standard 20.20s to accomodate the extra long
105 file names used by Motif. Maybe there's a better way to handle
108 15. Add ability to run man on a local file
110 16. Handle per-tree tmac macros
112 XX Allow user-definable section search order via -S or $MANSECT.
113 Thus programmers can get stty(3) before stty(1).
115 XX Show all the places you would find a man page (-w option) and in
118 19. Support for multi-char sections like man1m/*.1m or manavs/*.avs
119 (can I have a section that doesn't start with a numeral?)
121 20. Implement man -K for regexp apropos
123 21. An option to grep through all the man pages in $MANPATH