1 | |
---|
2 | The following are the differences between nmh and MH-6.8.3. UCI has |
---|
3 | since released MH-6.8.4. Most of the new features it adds have |
---|
4 | also been added to nmh, but those differences are not listed here. |
---|
5 | There are a few new features in MH-6.8.4 that are missing from nmh, |
---|
6 | but they are primarily undocumented in MH-6.8.4 (and no one has |
---|
7 | ever asked me for them). |
---|
8 | |
---|
9 | GENERAL |
---|
10 | ------- |
---|
11 | *) nmh has been converted to autoconf (configure) and should be |
---|
12 | more portable and easier to install than MH. In particular, nmh |
---|
13 | will now compile on Linux. |
---|
14 | *) All of MH's Makefiles have been rewritten for nmh. You can now |
---|
15 | use GNU make without any problems. Also, if your make supports |
---|
16 | the VPATH variable (such as GNU make), you can now compile in a |
---|
17 | different directory from the one containing the source code. |
---|
18 | *) The source code for nmh has been substantially cleaned up. |
---|
19 | It now requires an ANSI C compiler (gcc is fine) to compile. |
---|
20 | *) A new option `-version' has been added to all the commands. |
---|
21 | *) The POP server (popd) has been removed from the distribution. |
---|
22 | But the client-side support for POP and KPOP is still present. |
---|
23 | Also nmh doesn't currently support some of the alternate forms of |
---|
24 | POP such as APOP or RPOP that are contained in MH (although they |
---|
25 | could easily be resurrected, if necessary). |
---|
26 | *) The support for MH-style bulletin boards has been removed |
---|
27 | (NNTP makes this obsolete anyway). |
---|
28 | *) Currently nmh doesn't support using shared libraries for libmh. |
---|
29 | This may return in the future, but is not a high priority, since |
---|
30 | the nmh commands are not that large, and disk space gets cheaper |
---|
31 | every day. |
---|
32 | *) Almost all of the commands in nmh have been modified to accept |
---|
33 | an arbitrary number of command line arguments (most MH commands |
---|
34 | will not accept more than 1000 arguments on the command line). |
---|
35 | *) nmh should be more secure than MH. Hundreds of buffer overflow |
---|
36 | problems have been fixed in the source code. Of course, I still |
---|
37 | don't make any guarantees. |
---|
38 | |
---|
39 | DOCUMENTATION |
---|
40 | ------------- |
---|
41 | *) Many of the man pages have been cleaned up or clarified. |
---|
42 | *) The mhook man page has been split into separate man pages for |
---|
43 | rcvtty, rcvdist, and rcvpack. |
---|
44 | *) Added new man page `mh-draft' which discusses the nmh draft |
---|
45 | folder facility. |
---|
46 | *) The various `procs' (rmmproc, moreproc, showmimeproc, etc...) |
---|
47 | are now documented in the "mh-profile" man page. Many of these |
---|
48 | were previously undocumented. |
---|
49 | |
---|
50 | FORMATTING |
---|
51 | ---------- |
---|
52 | *) Added a new formatting string escape %(decode) to decode and |
---|
53 | display RFC-2047 encoded header fields. |
---|
54 | |
---|
55 | SEQUENCES |
---|
56 | --------- |
---|
57 | *) The is no longer a limitation on the length of lines in the file |
---|
58 | containing your public sequences (.mh_sequences). That should be |
---|
59 | the end of the error message ".mh_sequences is poorly formatted". |
---|
60 | |
---|
61 | ANNO |
---|
62 | ---- |
---|
63 | *) The switch -inplace is now on by default. |
---|
64 | |
---|
65 | CONFLICT |
---|
66 | -------- |
---|
67 | *) Conflict now works on systems that define more |
---|
68 | than 100 groups. |
---|
69 | |
---|
70 | DIST |
---|
71 | ---- |
---|
72 | *) The switch -inplace is now on by default. |
---|
73 | |
---|
74 | FLIST |
---|
75 | ----- |
---|
76 | *) A new command `flist' has been added to nmh, that will list the |
---|
77 | folders that contain messages in a given sequence (such as the |
---|
78 | unseen sequence). This was a much needed command in the MH suite |
---|
79 | of programs. |
---|
80 | |
---|
81 | FOLDER |
---|
82 | ------ |
---|
83 | *) `folder -all' now dynamically allocates space for folder names and can |
---|
84 | handle more than 300 folders. |
---|
85 | *) `folder' now uses the standard Unix trick of looking at the number of |
---|
86 | links to a directory entry, in order to avoid doing a stat(2) call |
---|
87 | on messages in folders with no subfolders. This greatly increases |
---|
88 | the speed of `folder -all -recurse' on large mail setups. |
---|
89 | *) The switches `-header' and `-total' are more orthogonal. The command |
---|
90 | `folder -all -noheader -nototal' now does the right thing. |
---|
91 | |
---|
92 | FORW |
---|
93 | ---- |
---|
94 | *) The switch -inplace is now on by default. |
---|
95 | *) Added switches `-dashstuffing' and `-nodashstuffing', to determine |
---|
96 | whether forwarded messages are RFC934 quotes (dashstuffed). |
---|
97 | (This corresponds to the undocumented switch "nodashmunging" |
---|
98 | in MH). |
---|
99 | |
---|
100 | INC |
---|
101 | --- |
---|
102 | *) If compiled with RPATHS, a Delivery-Date header is now added to all |
---|
103 | messages incorporated with `inc'. |
---|
104 | *) Using the new format string escape %(decode), the scan lines for `inc' |
---|
105 | will correctly decode RFC-2047 encoded headers. |
---|
106 | |
---|
107 | MARK |
---|
108 | ---- |
---|
109 | *) If neither of the switches -public/-nopublic are specified, then |
---|
110 | existing sequences will retain their current public/private status, |
---|
111 | instead of being changed to public. |
---|
112 | *) The command "mark -list -sequence foo" will now indicate if the |
---|
113 | sequence "foo" is a private sequence. |
---|
114 | |
---|
115 | MHBUILD |
---|
116 | ------- |
---|
117 | *) The functionality in `mhn' to create MIME messages, has been cleaned |
---|
118 | up substantially, and moved to separate command `mhbuild'. |
---|
119 | *) If given a file argument of "-", mhbuild will now accept the MIME |
---|
120 | composition file on the standard input, and output the new MIME |
---|
121 | message to the standard output. This makes it much easier to use |
---|
122 | this functionality in shell scripts. |
---|
123 | *) The switch -norfc934mode is now the default. |
---|
124 | |
---|
125 | MHL |
---|
126 | --- |
---|
127 | *) There is a new variable "decode" which instructs `mhl' to decode |
---|
128 | a component as a RFC-2047 encoded header field. |
---|
129 | |
---|
130 | MHLIST |
---|
131 | ------ |
---|
132 | *) The functionality of `mhn -list' has been moved to the new |
---|
133 | command `mhlist'. |
---|
134 | |
---|
135 | MHN |
---|
136 | --- |
---|
137 | *) mhn is now obsolete. It has been split into the commands mhbuild, |
---|
138 | mhlist, mhshow, mhstore, and viamail. mhn still exists for |
---|
139 | backward compatibility, but the new commands should be preferred. |
---|
140 | *) Changed the profile entry automhnproc to automimeproc |
---|
141 | (which has slightly different semantics). |
---|
142 | |
---|
143 | MHPATH |
---|
144 | ------ |
---|
145 | *) `mhpath all' will no longer abort if the folder has more than |
---|
146 | 998 messages. |
---|
147 | |
---|
148 | MHSHOW |
---|
149 | ------ |
---|
150 | *) The functionality of `mhn -show' has been moved to the new |
---|
151 | command `mhshow'. |
---|
152 | *) mhshow now correctly treats unknown subtypes of text as |
---|
153 | text/plain, as specified by RFC-2046. |
---|
154 | *) mhshow now correctly treats unknown subtypes of multipart as |
---|
155 | multipart/mixed, as specified by RFC-2046. |
---|
156 | *) You can now override the default method by which mhshow handles |
---|
157 | subtypes of multipart that are known internally (mixed, alternate, |
---|
158 | etc...). Previously the behavior on these types could not be |
---|
159 | changed. |
---|
160 | |
---|
161 | MHSTORE |
---|
162 | ------- |
---|
163 | *) The functionality of `mhn -store' has been moved to the new |
---|
164 | command `mhstore'. |
---|
165 | *) mhstore will now correctly identify a formatting string of "-" |
---|
166 | and send the content to stdout. |
---|
167 | |
---|
168 | PACKF |
---|
169 | ----- |
---|
170 | *) When packing a folder, the default format is now `mbox' format, rather |
---|
171 | than `mmdf' format. The options -mbox and -mmdf have been added to |
---|
172 | `packf' so you can choose the desired format. |
---|
173 | |
---|
174 | PACKMBOX |
---|
175 | -------- |
---|
176 | *) The script packmbox has been removed from the nmh distribution, since |
---|
177 | its functionality has been added to the command packf. |
---|
178 | |
---|
179 | PICK |
---|
180 | ---- |
---|
181 | *) If neither of the switches -public/-nopublic are specified, then |
---|
182 | existing sequences will retain their current public/private status, |
---|
183 | instead of being changed to public. |
---|
184 | |
---|
185 | RCVPACK |
---|
186 | ------- |
---|
187 | *) The default format for `rcvpack' is now `mbox' format, rather than |
---|
188 | `mmdf' format. The options -mbox and -mmdf have been added to |
---|
189 | `rcvpack' so you can choose the desired format. |
---|
190 | *) Rcvpack no longer adds the field "Delivery-Date", as that is added |
---|
191 | by `slocal'. |
---|
192 | |
---|
193 | RCVSTORE |
---|
194 | -------- |
---|
195 | *) Added new switches -unseen/-nounseen to control whether new messages |
---|
196 | are added to the Unseen-Sequence. |
---|
197 | |
---|
198 | RCVTTY |
---|
199 | ------ |
---|
200 | *) The option `-width' has been added. |
---|
201 | |
---|
202 | REFILE |
---|
203 | ------ |
---|
204 | *) If an conflict occurs when using the `-preserve' switch, |
---|
205 | then refile will search for and use the next available |
---|
206 | message number above the one you wish to preserve, rather |
---|
207 | than aborting with an error. |
---|
208 | *) Added new options `-unlink' and `-nounlink' which specify |
---|
209 | that that messages "removed" from the source folder should |
---|
210 | just be unlinked, rather than moved to name with prefix. |
---|
211 | |
---|
212 | REPL |
---|
213 | ---- |
---|
214 | *) Added new options `-format' and `-noformat'. The switch `-format' |
---|
215 | will filter the message to which you are replying with a standard |
---|
216 | message filter "mhl.reply" which is included in the distribution. |
---|
217 | The switch `-noformat' will negate `-format' and `-filter', so that |
---|
218 | the message to which you are replying is not included in the draft. |
---|
219 | *) Added new options `-group' and `-nogroup'. These switches direct |
---|
220 | repl as to whether or not this is a group reply. A group reply uses |
---|
221 | a different forms (components) file (default is replgroupcomps). |
---|
222 | *) The standard forms files "replcomps" and "replgroupcomps" now have |
---|
223 | support for the "Mail-Reply-To:" and "Mail-Followup-To:" header fields. |
---|
224 | *) The switch -inplace is now on by default. |
---|
225 | |
---|
226 | RMM |
---|
227 | --- |
---|
228 | *) Added new options `-unlink' and `-nounlink' which specify |
---|
229 | that that "removed" messages should just be unlinked, rather |
---|
230 | than moved to name with prefix. |
---|
231 | |
---|
232 | SCAN |
---|
233 | ---- |
---|
234 | *) Using the new format string escape %(decode), the scan lines created |
---|
235 | by `scan' will correctly decode RFC-2047 encoded headers. |
---|
236 | |
---|
237 | SHOW/NEXT/PREV |
---|
238 | -------------- |
---|
239 | *) Added new options `-checkmime' and `-nocheckmime' which allow you |
---|
240 | to enable and disable the test for MIME messages. |
---|
241 | *) The "mhnproc" profile entry has been changed to "showmimeproc". |
---|
242 | *) Added `-showmimeproc' switch to specify the showmimeproc at the |
---|
243 | command line. |
---|
244 | *) The default "showproc" has been changed to `mhl'. |
---|
245 | *) The default "showmimeproc" is now `mhshow'. |
---|
246 | *) `show' is better at handling alternate character sets. It knows that |
---|
247 | US-ASCII is a subset of any ISO-8859-X character set. |
---|
248 | |
---|
249 | SLOCAL |
---|
250 | ------ |
---|
251 | *) Added new action `folder' or `+' to slocal, which adds new message |
---|
252 | to a nmh folder. Currently, this is handled by piping the new |
---|
253 | message to rcvstore, although this may change in the future. |
---|
254 | *) The action `mbox' now delivers to a file in mbox format. Previously |
---|
255 | it delivered to a file in mmdf format. |
---|
256 | *) Added new action `mmdf' to deliver to a file in mmdf format. |
---|
257 | *) Added new options -[no]suppressdup to slocal to check for duplicate |
---|
258 | messages. The code for suppression of duplicate messages (MH config |
---|
259 | was MSGID) is now always built into slocal. |
---|
260 | *) Improved the debugging of slocal ".maildelivery" files. It will now |
---|
261 | warn when an entry in this file is skipped because there are not |
---|
262 | enough fields. Also the debugging output of slocal has been cleaned up, |
---|
263 | so that it is much easier to read. |
---|
264 | *) Slocal now adds the Delivery-Date header to all delivered messages. |
---|
265 | Previously it only added them to messages delivered to a file. |
---|
266 | |
---|
267 | VIAMAIL |
---|
268 | ------- |
---|
269 | *) The functionality of this new command, was formerly part of |
---|
270 | `mhn' as the (undocumented) option `mhn -viamail'. |
---|
271 | |
---|
272 | WHATNOW |
---|
273 | ------- |
---|
274 | *) Added new action "mime" to whatnow, which causes whatnow to call |
---|
275 | program specified by "buildmimeproc" profile entry, to process |
---|
276 | MIME composition files (default is mhbuild). |
---|
277 | *) Added new action "delete" to whatnow, which deletes draft file |
---|
278 | and exits. |
---|