TODO revision 114472
1$Id: TODO,v 1.6 2003/01/27 13:05:44 karl Exp $
2This is the todo list for GNU Texinfo.
3If you are interested in working on any of these, email bug-texinfo@gnu.org.
4
5  Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 
6  2001, 2002, 2003 Free Software Foundation.
7
8  Copying and distribution of this file, with or without modification,
9  are permitted in any medium without royalty provided the copyright
10  notice and this notice are preserved.
11
12* General:
13  - Test for memory leaks, e.g., with valgrind:
14    http://developer.kde.org/~sewardj/
15  - Rationalize and improve the dir categories in existing manuals.
16    See http://mail.gnu.org/pipermail/emacs-devel/2002-October/013094.html
17    (and the containing thread).
18  - Extend and improve the tests.
19  - Get Info declared as a MIME Content-Type.
20  - Support compressed image files.
21  - Handle reference card creation, perhaps by only paying attention to
22    sectioning and @def... commands.
23  - Allow @end (and other?) commands to be indented in the source.
24
25* Language:
26  - @figure, something like:
27@figure [xref-label]
28@figureinclude <filename>, [<height>], [<width>]
29@figurehsize <dimen>
30@figurevsize <dimen>
31@caption ... @end caption
32<arbitrary Texinfo commands>
33@end figure
34  - @else for the @if... conditionals.
35  - @xindexterm [def] primary [,secondary [,tertiary]]  or some such?
36  - multicolumn * width to take up `the rest'.
37  - another table command to take N succeeding items and split them
38    into M columns (see eplain).
39  - support bibliographies with BibTeX (see web2c/doc for kludge prototype).
40  - @flushboth to combine @flushleft and @flushright, for RFC's.
41  - @part sectioning command.
42  - Allow subitems and `see' and `see also' in indices.
43  - @exercise/@answer command for, e.g., gawk.
44  - Allow @hsep/@vsep at @item, instead of just in template.
45  - Support automatic line numbering of examples.
46  - Better macro syntax.
47  - Allow : in node names for info files, for names like
48    `class::method'.  Likewise index entries.  A quoting mechanism such
49    as surrounding node names with SPACE BACKSPACE is probably the best
50    solution, although this is an incompatible change to Info format, sigh.
51  - Change bars.  This is difficult or impossible in TeX,
52    unfortunately.  To do it right requires device driver support.
53    wdiff or ediff may be all we can do.
54  - @LaTeX{} command to produce the LaTeX logo.
55
56* Makeinfo:
57  - Try directory of main source file.
58  - Support @`{@dotless{i}} et al. in HTML.
59  - A detexinfo program, like detex or delatex.  This command would
60    strip all the texinfo commands out, and would be used as a filter on
61    the way to a speller.  An option would be to NOT strip comments out.
62    makeinfo --no-headers comes close.
63  - If node name contains an @ command, complain explicitly.
64  - Call Ghostscript to get ASCII/jpg output for the @image command.
65  - Better HTML output: allow settable background color, table colors
66    and spacing, <head> meta tags, back link from footnote marker, etc.
67  - Rewrite completely to simplify generation of different formats.
68
69* TeX:
70  - Use @ as the escape character, and Texinfo syntax generally, in the
71    table of contents, aux, and index files.  Eliminate all the crazy
72    multiple redefinitions of every Texinfo command in different contexts.
73  - Handle @hsep and @vsep in @multitables.
74  - Introduce new command to change \bindingoffset.
75  - Reasonable way to change fonts from the default (some work has been
76    done), to allow for PostScript fonts, for example.
77  - How about using latex2html to produce HTML?
78  - Support 8-bit input characters, perhaps via the ec fonts.
79  - Repeat table headings if a @multitable is multiple pages long.
80  - Table of contents gets misaligned if there are 10 or more [sub]sections.
81  - Use url.sty (or something) to allow linebreak of url's.
82
83* Doc:
84  - Include a complete functional summary, as in a reference card, in
85    the manual.
86  - Improve the manuals, especially for makeinfo, standalone info, etc.
87  - new section on doing dedication pages. See gawk.texi
88    for an example of doing it in both the tex and info versions.
89
90* Info:
91  - Regular expression search.
92  - Full-text search across all info files installed on the system.
93  - Support character sets other than ISO Latin 1.
94  - Perhaps comply with LANGUAGE setting on a per-node basis, to allow
95    incremental translation of Texinfo files.
96  - Search all nodes of dir file at startup, then can have
97    INFO-DIR-SEPARATE-GROUPS and other such.
98  - Better dir file merging.
99  - Steal interface ideas from Lynx: number links, use color, etc.
100    Perhaps code from the pinfo viewer can be reused:
101    http://zeus.polsl.gliwice.pl/~pborys/.
102  - More sample .infokey files, so people can choose without writing their own.
103  - q within help should quit help like C-x 0.
104  - Incorporate an X-based viewer, perhaps tkinfo
105      http://www.math.ucsb.edu/~boldt/tkinfo/
106    or saxinfo.
107
108* PDF:
109  - make each letter of the index (A, B, ...) a section in the TOC.
110    From Carsten Dominik <dominik@astro.uva.nl>.
111  
112* install-info:
113  - be able to copy the info file to compile-time $(infodir), to
114    simplify by-hand installation.
115
116
117Ideas that will not be implemented:
118- Process Texinfo files directly instead of converting to Info:
119  ftp://ftp.cs.berkeley.edu/ucb/people/phelps/tcltk/tkman.tar.Z, which
120  uses Tcl/Tk 8.0 from ftp.smli.com in the /pub/tcl directory.
121  From: phelps@ecstasy.CS.Berkeley.EDU (Tom Phelps)
122  [This has the disadvantage of needing to be updated when the
123  Texinfo language changes, so don't.]
124
125- Split HTML output by chapter.
126  [Then cross-references in HTML cannot be generated consistently.]
127