home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / OS2 / MAN11A.ZIP / src / TODO < prev    next >
Text File  |  1991-08-24  |  5KB  |  124 lines

  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 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. 15. 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
  124.