simplify whatnow.c/main() function
[mmh] / docs / TODO
1 TODO
2 ====
3
4 * Write different function to read configuration files, instead
5   of using m_getfld.c
6 * convert calls from sprintf/vsprintf to snprintf/vsnprintf
7 * modularize access to context/profile list.
8 * add command printm to print messages
9 * finish changing to macros for msgstats and msgflags
10 * Add support for Mail-Followup-To and Mail-Reply-To
11 * Add support for profile entry "Mailing-Lists"
12 * let mhl accept files on standard in, and output to
13   standard out, when filtering files.
14 * Add new command "show" at WhatNow? prompt.
15 * Allow user customization of which kinds of text parts in multipart/alternative
16   messages are preferred.  It would be nice if one selectable behavior would be
17   to be prompted at runtime for which version to show.
18 * Add a new %-escape that makes temp files more permanent than %f, so that you
19   can use gnuclient -q or netscape -remote on message parts.  Put netscape
20   -remote in mhn.defaults for text/html once this is done.
21 * Change all man pages to group all the commandline options together in one
22   section with each as a separate mini-heading.  Having to dig through prose to
23   find what a particular option does is a pain in the nads.
24 * Add some way to configure whether you prefer to see text/plain or text/html
25   parts of multipart/alternative messages.
26
27
28 MAN PAGES
29 ---------
30 * Transition of the mh-tailor man page
31 * update default mode in man pages with sed
32
33 SEQUENCES
34 ---------
35 * Change so you can have more than 26 sequences.  Unfortunately,
36   given the way that the bit flags for sequences work, this is
37   not easy.
38 * Maybe add option gracefully handle empty sequences (-force).
39
40 OPTIONS
41 -------
42 * can we move option checking to its own function?  Currently each
43   command is doing that itself.
44 * make the option parsing code dynamic, so that there is no limit
45   to the number of command line arguments (this has been done for
46   most all the commands).
47 * Add switch descriptions to -help output.
48
49 FLIST
50 -----
51 * add -format option so you can specify the look of the output
52   of flist.
53 * add Flist-Exclude profile component
54
55 FOLDER
56 ------
57 * add Folder-Order profile component (same as flist)
58 * add Folder-Exclude profile component
59
60 FORMATS
61 -------
62 * add escape %(sequence{foobar}) to detect arbitrary sequences.
63
64 INC
65 ---
66 * Add ability to do filtering (call filterproc) when incorporating mail
67 * Change inc to use libary function folder_addmsg().
68
69 MHBUILD
70 -------
71 * add ability to specify Content-Transfer-Encoding in composition
72   drafts.
73 * remove the code for caching from mhbuild.
74
75 MHL
76 ---
77 * add ability to filter parts of the message by calling
78   an external filtering program.
79
80 MHSHOW/MHLIST/MHSTORE
81 -------------------------
82 * add support for Content-Disposition header (rfc1806, rfc2183).
83 * merge the two places in which mhshowsbr.c reads display
84   strings.
85 * when storing to a folder, should we save the folder context
86   first, so that storage string of "+" stores to the new
87   folder?
88
89 PICK
90 ----
91 * split regex code out into library.
92 * replace regex code with Henry Spencer's regex library.
93
94 RCVSTORE
95 --------
96 * Change rcvstore so that it can store into multiple folders.
97 * Add folder locking.
98
99 REPL
100 ----
101 * Decode RFC-2047 headers in messages included when replying
102   or forwarding.
103
104 SLOCAL
105 -----
106 * Change slocal to use .slocalrc file, instead of .maildelivery?
107 * Add ability to use regular expressions in header matching.
108 * Clean up output from -debug option.
109 * Add -debuglevel to control the amount of debug info that is output.
110 * Add -debuglog to specify file to save debugging output.
111 * Add -logfile (or -audit) to specify where to record info about successful
112   deliveries.
113
114 GENERAL
115 -------
116 * change time functions to use POSIX functions by default.
117 * replace use of ftell with fgetpos.