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