b47855e86a2c1a37a30fc63e33564f95349c83c9
[mmh] / docs / TODO
1 [TODO]
2
3 * Write different function to read configuration files, instead
4   of using m_getfld.c
5 * convert calls from sprintf/vsprintf to snprintf/vsnprintf
6 * convert calls from getcpy to strdup
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 switch -more to `show' to call moreproc.
15 * Add new command "show" at WhatNow? prompt.
16 * Add command to reverse the action of rmm [-nounlink] -- "urmm"?  "umm"?  "um"?
17 * Allow user customization of which kinds of text parts in multipart/alternative
18   messages are preferred.  It would be nice if one selectable behavior would be
19   to be prompted at runtime for which version to show.
20 * Add a new %-escape that makes temp files more permanent than %f, so that you
21   can use gnuclient -q or netscape -remote on message parts.  Put netscape
22   -remote in mhn.defaults for text/html once this is done.
23 * Change all man pages to group all the commandline options together in one
24   section with each as a separate mini-heading.  Having to dig through prose to
25   find what a particular option does is a pain in the nads.
26 * Add some way to configure whether you prefer to see text/plain or text/html
27   parts of multipart/alternative messages.
28 * Allow multiple simultaneous differing contexts, probably each tied to a parent
29   (terminal) process.
30
31 [POSSIBILITIES]
32
33 MAN PAGES
34 ---------
35 * Update mh-tailor man page.
36 * generate mh-chart man page from other man pages
37 * update default mode in man pages with sed
38
39 SEQUENCES
40 ---------
41 * Change so you can have more than 26 sequences.  Unfortunately,
42   given the way that the bit flags for sequences work, this is
43   not easy.
44 * Maybe add option gracefully handle empty sequences (-force).
45
46 OPTIONS
47 -------
48 * can we move option checking to its own function?  Currently each
49   command is doing that itself.
50 * make the option parsing code dynamic, so that there is no limit
51   to the number of command line arguments (this has been done for
52   most all the commands).
53 * Add switch descriptions to -help output.
54
55 COMP
56 ----
57 * add option so that prompter can be used to input addresses,
58   before the real editor is called to edit message.
59 * fix -nowhatnowproc switch. Right now whatnowproc starts the edit
60   session instead of comp, so -nowhatnowproc does nothing.
61
62 FLIST
63 -----
64 * add -format option so you can specify the look of the output
65   of flist.
66 * add Flist-Exclude profile component
67
68 FOLDER
69 ------
70 * add Folder-Order profile component (same as flist)
71 * add Folder-Exclude profile component
72
73 FORMATS
74 -------
75 * add escape %(sequence{foobar}) to detect arbitrary sequences.
76
77 FORW
78 ----
79 * Decode RFC-2047 headers in messages included when replying
80   or forwarding.
81 * Merge code for forw and repl.
82
83 INC
84 ---
85 * Add ability to do filtering (call filterproc) when incorporating mail
86 * Change inc to use libary function folder_addmsg().
87
88 MHBUILD
89 -------
90 * add ability to specify Content-Transfer-Encoding in composition
91   drafts.
92 * remove the code for caching from mhbuild.
93
94 MHL
95 ---
96 * add ability to filter parts of the message by calling
97   an external filtering program.
98
99 MHMAIL
100 ------
101 * add -attach option (send could use this).  This should
102   be done by hooking in mhbuildsbr.c
103
104 MHSHOW/MHLIST/MHSTORE
105 -------------------------
106 * add support for Content-Disposition header (rfc1806, rfc2183).
107 * merge the two places in which mhshowsbr.c reads display
108   strings.
109 * when storing to a folder, should we save the folder context
110   first, so that storage string of "+" stores to the new
111   folder?
112
113 PICK
114 ----
115 * split regex code out into library.
116 * replace regex code with Henry Spencer's regex library.
117
118 PROMPTER
119 --------
120 * maybe add ability to use prompter just for headers, and
121   then use primary editor for editing message.
122
123 RCVSTORE
124 --------
125 * Change rcvstore so that it can store into multiple folders.
126 * Add folder locking.
127
128 REPL
129 ----
130 * Decode RFC-2047 headers in messages included when replying
131   or forwarding.
132 * Merge code for forw and repl.
133
134 SEND/SENDSBR
135 ------------
136 * Add RFC-2047 encoding support for out-going messages.  This
137   will probably require hooking mhparse into sendsbr.c, and doing
138   a complete MIME parsing.  Then all handling of Content encoding
139   can be on the backend.
140
141 SLOCAL
142 -----
143 * Change slocal to use .slocalrc file, instead of .maildelivery?
144 * Add ability to use regular expressions in header matching.
145 * Add support for Berkeley db.
146 * Clean up output from -debug option.
147 * Add -debuglevel to control the amount of debug info that is output.
148 * Add -debuglog to specify file to save debugging output.
149 * Add -logfile (or -audit) to specify where to record info about successful
150   deliveries.
151
152 GENERAL
153 -------
154 * change time functions to use POSIX functions by default.
155 * Add MH-6.8.4 features into nmh (mostly done).
156 * Maybe should move etcpath to sbr and add to libmh.
157 * collect winsize, struct termio, etc... together into a ttyinfo
158   structure.
159 * use wait3 if not waitpid (maybe)
160 * When do we need to add -lresolv for SunOS 4.1.x?
161 * replace use of ftell with fgetpos.