nonstatic function for atexit, check if atexit fails
[mmh] / docs / DIFFERENCES_mmh_nmh
1 This file lists the most important differences between mmh and nmh.
2 This list is not complete and will never be; it shall give just a
3 quick overview on what kind of changes have been made.
4
5 Version mmh-0.1 and nmh-1.3-dev (as of 2011-04-13) are compared.
6
7 References are made to docs/schnalke-mmh.pdf. Explanations are to be
8 found there. For a detailed list of changes see the VCS changelog.
9 To find out how to use the mmh tools, have a look at the man pages.
10
11
12 General
13 -------
14 *) All network transfer facilities have been removed. There is no MTS
15    (SMTP client) anymore and no POP client. An MSA/MTA is required to
16    send mail. An MRA is required to retrieve mail via POP/IMAP. (Sec.
17    2.1.1)
18 *) ~/.mh_profile was moved to ~/.mmh/profile. All configuration files
19    in the mail storage location (~/Mail) were moved to ~/.mmh. The
20    environment variables to change these locations were renamed.
21    (Sec. 2.3.5)
22 *) Many configure options were removed. (Sec. 2.1.4)
23 *) A bunch of recent changes in nmh were pulled into mmh.
24 *) The man page mmh-intro(7) was added.
25
26 Features
27 --------
28 *) Jon Steinhart's attachment system is made the default and is
29    combined smoothly with automatic MIMEification, as needed. The
30    `mime' command at the WhatNow prompt is therefore no longer needed
31    and thus removed. Use of Mime-Type-Query command (usually file(1))
32    to determine the MIME type of an attachment. No more writing of
33    mhbuild directives, although it is still possible to do so. (Sec.
34    2.2.2)
35 *) The draft folder facility is always used. All support for a single
36    draft message is removed. The commands, especially comp(1), were
37    adjusted to this change. (Sec. 2.2.4)
38 *) A trash folder facility is added. Backup prefixes are no longer
39    used. (Sec. 2.2.4)
40 *) By default, messages are always displayed serially in a single
41    pager session without pausing. Foreign charsets are transcoded
42    automatically (with iconv(1)). (Sec. 2.2.2)
43 *) Attachments are stored under their filename, instead of the message
44    number and MIME part number, by default. Tar files are no longer
45    extracted automatically. (Sec. 2.2.2)
46 *) scan(1) listings do no longer show body contents.
47 *) MMDF maildrop format support is removed. (Sec. 2.2.1) Support for
48    UUCP bang paths is gone, too.
49 *) There is no more support for automatic message/external-body
50    retrieval. The internal FTP client was dropped as well.
51 *) Removed the internal pager.
52 *) There is no more hardcopy terminal support. (Sec. 2.2.1)
53
54 Programs
55 --------
56 *) The old show(1) was dropped and mhshow(1) was renamed to show(1).
57    (2.1.3)
58 *) Digital typography is added by including Neil Rickert's scripts:
59    mhsign(1) is invoked automatically by send(1) if the draft message
60    contains `Enc:' or `Sign:' header fields. Up to now, the user needs
61    to run mhpgp(1) manually, still. (Sec. 2.2.3)
62 *) conflict, rcvtty, viamail, msgchk, and msh were removed. (Sec. 2.1.2)
63 *) Replaced install-mh(1) with the shell script mmh(1).
64 *) slocal(1) lost its suppress duplicates feature and mmh thus lost the
65    dependency on dbm.
66 *) packf(1) prints to stdout.
67 *) Added mmhwrap(1).
68 *) whom(1) is rewritten from scratch.
69 *) Many command line switches were removed. (Sec. 2.1.5)
70 *) anno(1)'s command line switches were structurally reworked. Check
71    the man page for details. (Sec. 2.3.2)
72 *) Replaced the command line option `-format foo' with `-form =foo'.
73    (Sec. 2.1.5)
74 *) Path notations (with +, @, /, .) can now be used more interchangeable.
75    (Sec. 2.3.2)
76 *) All tools read the profile now. (Sec. 2.3.3)
77 *) Renamed the -version switch to -Version.
78
79 Sequences
80 ---------
81 *) The standard sequences `first', `prev', `cur', `next', `last',
82    `all', `new' were renamed to `f', `p', `c', `n', `l', `a', `b',
83    respectively.
84 *) The unseen sequence and the sequence negation are set by default.
85    repl(1) quotes the original message by default and forw(1) uses
86    MIME encapsulation by default. (Sec. 2.2.5)
87
88 Code
89 ----
90 *) The indent style was changed -- sorry for that. (Sec. 2.3.1)
91 *) Standard library functions have replaced local replacements, when
92    possible. (Sec. 2.3.4)
93 *) The programs are more separated now. Instead of sharing source code,
94    the programs invoke each other. (Sec. 2.3.6)
95 *) Mmh comprises only about half as much code as nmh-1.3.