Fix some more the the typos.
[dragonfly.git] / gnu / usr.bin / man / TODO
1 Things that would be nice but aren't really necessary:
2
3 0.  Update the documentation.
4
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
7     much about this?
8
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
12     man.c for details.
13
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 :-).
18
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.
23
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
27     files 666.)
28
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
31     be world writable.
32
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.
39
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
42
43 XX  Fix glob.c so it doesn't need alloca, and/or fix it so that it can
44     work on a Sun:
45
46         #ifdef __GNUC__
47         #define alloca __builtin_alloca
48         #else /* !__GNUC__ */
49         #ifdef sparc
50         #include <alloca.h>
51         #endif /* sparc */
52         #endif /* __GNUC__ */
53
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
57     its man page:
58
59     Preprocessing Manual Pages
60       If the first line is a string of the form:
61
62           '\"  X
63
64       where  X is separated from 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.
68
69           e    eqn(1), or neqn for nroff
70           r    refer(1)
71           t    tbl(1), and col(1V) for nroff
72           v    vgrind(1)
73
74       If eqn or neqn is invoked, it will  automatically  read  the
75       file /usr/pub/eqnchar (see eqnchar(7)).
76
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.
80
81 XX  Pipe the output of apropos and whatis through a pager.
82
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:
87
88     setenv ROFFLINE 'pic $* | tbl | nroff -man'
89
90 13. Fix makewhatis so that it can handle stuff like this (from the
91     Motif 1.1 man pages):
92
93       .TH XmRowColumn 3X "" "" "" ""
94       .SH NAME
95       .mc |
96       \fBXmRowColumn \(em the RowColumn widget class.\fP
97       .mc
98       .iX "XmRowColumn"
99       .iX "widget class" "RowColumn"
100       .sp 1
101       .SH SYNOPSIS
102
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
106     this?
107
108 XX. Add ability to run man on a local file
109
110 16. Handle per-tree tmac macros
111     
112 XX  Allow user-definable section search order via -S or $MANSECT.
113     Thus programmers can get stty(3) before stty(1).
114
115 XX  Show all the places you would find a man page (-w option) and in
116     what order.
117
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?)
120
121 20. Implement man -K for regexp apropos
122
123 21. An option to grep through all the man pages in $MANPATH