Initial revision
[mmh] / 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 mhn and 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
17 [POSSIBILITIES]
18
19 MAN PAGES
20 ---------
21 * Update mh-tailor man page.
22 * generate mh-chart man page from other man pages
23 * update default mode in man pages with sed
24
25 SEQUENCES
26 ---------
27 * Change so you can have more than 26 sequences.  Unfortunately,
28   given the way that the bit flags for sequences work, this is
29   not easy.
30 * Maybe add option gracefully handle empty sequences (-force).
31
32 ENVIRONMENT/PROFILE
33 -------------------
34 * Maybe add profile entry "Pager" to change the default pager?
35 * Should nmh check for EDITOR or PAGER environment variable?
36
37 POP
38 ---
39 * Clean up uip/spop.c (I dont' think it's needed any longer).
40 * Need to decide if want to support APOP, RPOP, MPOP.  APOP
41   and RPOP still work, but need autoconf support added.  Does
42   anyone still use this stuff?
43
44 OPTIONS
45 -------
46 * change switches to accept two dashes (--help)
47 * can we move option checking to its own function?  Currently each
48   command is doing that itself.
49 * make the option parsing code dynamic, so that there is no limit
50   to the number of command line arguments (this has been done for
51   most all the commands).
52 * Add switch descriptions to -help output.
53
54 COMP
55 ----
56 *) add option so that prompter can be used to input addresses,
57    before the real editor is called to edit message.
58
59 FLIST
60 -----
61 * add -format option so you can specify the look of the output
62   of flist.
63 * add Flist-Exclude profile component
64
65 FOLDER
66 ------
67 * add Folder-Order profile component (same as flist)
68 * add Folder-Exclude profile component
69
70 FORMATS
71 -------
72 * add escape %(sequence{foobar}) to detect arbitrary sequences.
73
74 FORW
75 ----
76 * Decode RFC-2047 headers in messages included when replying
77   or forwarding.
78 * Merge code for forw and repl.
79
80 INC
81 ---
82 * Add ability to do filtering (call filterproc) when incorporating mail
83 * Change inc to use libary function folder_addmsg().
84
85 MHBUILD
86 -------
87 * add ability to specify Content-Transfer-Encoding in composition
88   drafts.
89 * add support for Content-Disposition header (rfc1806).
90 * remove the code for caching from mhbuild.
91
92 MHL
93 ---
94 * remove naming hack in mhlsbr.c for adios and done.
95 * add ability to filter parts of the message by calling
96   an external filtering program.
97 * fix internal pager for mhl?
98
99 MHMAIL
100 ------
101 * add -attach option (send could use this).  This should
102   be done by hooking in mhbuildsbr.c
103
104 MHN/MHSHOW/MHLIST/MHSTORE
105 -------------------------
106 * add way so user can tell mhn to use internal method for
107   handling type, such as multipart/mixed.
108 * add way so user can tell mhn to use a certain `proc' such
109   as moreproc, for certain content types.
110 * add support for Content-Disposition header (rfc1806).
111 * merge the two places in which mhshowsbr.c reads display
112   strings.
113 * split mhn into mhshow, mhlist, mhstore, and mhcache.
114 * when storing to a folder, should we save the folder context
115   first, so that storage string of "+" stores to the new
116   folder?
117
118 MSH
119 ---
120 * change conditional includes in msh.c to use termios.h
121 * Add -version to mshcmd.c for each command.
122 * Change msh to use mbox style files, instead of mmdf.  Add options -mbox,
123   -mmdf to choose.
124 *) There are couple calls to copyip() which should be changed to
125    getarguments().  One problem is freeing the string getcopy'ed by
126    getarguments().
127
128 PICK
129 ----
130 * split regex code out into library.
131 * replace regex code with Henry Spencer's regex library.
132
133 POST
134 ----
135 * make -msgid the default
136 * factor msgid code into own function
137
138 PROMPTER
139 --------
140 * maybe add ability to use prompter just for headers, and
141   then use primary editor for editing message.
142
143 RCVSTORE
144 --------
145 * Change rcvstore so that it can store into multiple folders.
146 * Add folder locking.
147
148 REPL
149 ----
150 * Decode RFC-2047 headers in messages included when replying
151   or forwarding.
152 * Merge code for forw and repl.
153
154 SEND/SENDSBR
155 ------------
156 * Maybe add `-server' and `-client' to documentation.
157 * Add ability for returned messages from "send -push" to be
158   in MIME format (this is actually a change in mhmail).
159 * make -msgid the default.
160 * Add RFC-2047 encoding support for out-going messages.  This
161   will probably require hooking mhparse into sendsbr.c, and doing
162   a complete MIME parsing.  Then all handling of Content encoding
163   can be on the backend.
164
165 SLOCAL
166 -----
167 * Change slocal to use .slocalrc file, instead of .maildelivery?
168 * Add ability to use regular expressions in header matching.
169 * Add support for Berkeley db.
170 * Clean up output from -debug option.
171 * Add -debuglevel to control the amount of debug info that is output.
172 * Add -debuglog to specify file to save debugging output.
173 * Add -logfile (or -audit) to specify where to record info about successful
174   deliveries.
175
176 VMH
177 ---
178 * Fix vmh (or remove it).  vmh seems to be using internal
179   knowledge of curses.
180
181 MTA INTERFACE
182 -------------
183 * Fix locking code.  Add lockfile command.
184 * Think about support for DSN (Delivery Status Notification)
185 * Test nmh with qmail.  Add qmail's maildir format.
186 * Relax restrictions on what can be done with headers in send/post.
187 * figure out why smail.c and client.c need their own copies of
188   getcpy, copyip, etc... (funny linking problem)
189
190 GENERAL
191 -------
192 * see if the various versions of copyfile and copyf can be
193   merged.
194 * change time functions to use POSIX functions by default.
195 * Add MH-6.8.4 features into nmh (mostly done).
196 * Maybe should move etcpath to sbr and add to libmh.
197 * collect winsize, struct termio, etc... together into a ttyinfo
198   structure.
199 * change adios to take exit code argument.
200 * use wait3 if not waitpid (maybe)
201 * some of the calls to setjmp/longjmp should be replaced with
202   sigsetjmp/siglongjmp.
203 * When do we need to add -lresolv for SunOS 4.1.x?
204 * replace use of getcpy with strdup.
205 * replace use of ftell with fgetpos.