# TODO file for `groffer'

# File position: <groff-source>/contrib/groffer/TODO

# Last update: 22 Jan 2003

# Copyright (C) 2001,2002,2003 Free Software Foundation, Inc.
# Written by Bernd Warken <bwarken@mayn.de>

# This file is part of groff.

# groff 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.

# groff 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 groff; see the file COPYING.  If not, write to the
# Free Software Foundation, 59 Temple Place - Suite 330, Boston,
# MA 02111-1307, USA.

########################################################################

TODO

Optimization:
- Optimize man path determination in manpath_add_lang_sys() for speed
  by building-up the man path only by and by as far as necessary
  (not trivial).
- To increase the running speed write part of the groffer shell script
  in C/C++.

Features:
- Revise option handling of `grog'.
- `gxditview' needs a complete shower.

Revision:
- Should there be a native implementation for `--apropos'?
- Revise the `--all' feature to better reflect GNU man.
- The debug function stack is buggy (no effect on normal operation).
- The actual `groff' and `grog' do not support file arguments each
of which has a different macro package (except `man' and `doc').  So
`roffer' should create several display files for such arguments.

Documentation:
- Improve the documentation of the search algorithm for man pages in
  both the groffer script and the man page `groffer.man'.
- In `groff.man', add more documentation for parts that were taken over
  from GNU `man'.
- The documentation in the headers for some function definitions in
  `groffer.sh' needs to be updated.
