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