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