This file lists the most important differences between mmh and nmh. This list is not complete and will never be; it shall give just a quick overview on what kind of changes have been made. Version mmh-0.1 and nmh-1.3-dev (as of 2011-04-13) are compared. References are made to docs/schnalke-mmh.pdf. Explanations are to be found there. For a detailed list of changes see the VCS changelog. To find out how to use the mmh tools, have a look at the man pages. General ------- *) All network transfer facilities have been removed. There is no MTS (SMTP client) anymore and no POP client. An MSA/MTA is required to send mail. An MRA is required to retrieve mail via POP/IMAP. (Sec. 2.1.1) *) ~/.mh_profile was moved to ~/.mmh/profile. All configuration files in the mail storage location (~/Mail) were moved to ~/.mmh. The environment variables to change these locations were renamed. (Sec. 2.3.5) *) Many configure options were removed. (Sec. 2.1.4) *) A bunch of recent changes in nmh were pulled into mmh. *) The man page mmh-intro(7) was added. Features -------- *) Jon Steinhart's attachment system is made the default and is combined smoothly with automatic MIMEification, as needed. The `mime' command at the WhatNow prompt is therefore no longer needed and thus removed. Use of Mime-Type-Query command (usually file(1)) to determine the MIME type of an attachment. No more writing of mhbuild directives, although it is still possible to do so. (Sec. 2.2.2) *) The draft folder facility is always used. All support for a single draft message is removed. The commands, especially comp(1), were adjusted to this change. (Sec. 2.2.4) *) A trash folder facility is added. Backup prefixes are no longer used. (Sec. 2.2.4) *) By default, messages are always displayed serially in a single pager session without pausing. Foreign charsets are transcoded automatically (with iconv(1)). (Sec. 2.2.2) *) Attachments are stored under their filename, instead of the message number and MIME part number, by default. Tar files are no longer extracted automatically. (Sec. 2.2.2) *) scan(1) listings do no longer show body contents. *) MMDF maildrop format support is removed. (Sec. 2.2.1) Support for UUCP bang paths is gone, too. *) There is no more support for automatic message/external-body retrieval. The internal FTP client was dropped as well. *) Removed the internal pager. *) There is no more hardcopy terminal support. (Sec. 2.2.1) Programs -------- *) The old show(1) was dropped and mhshow(1) was renamed to show(1). (2.1.3) *) Digital typography is added by including Neil Rickert's scripts: mhsign(1) is invoked automatically by send(1) if the draft message contains `Enc:' or `Sign:' header fields. Up to now, the user needs to run mhpgp(1) manually, still. (Sec. 2.2.3) *) conflict, rcvtty, viamail, msgchk, and msh were removed. (Sec. 2.1.2) *) Replaced install-mh(1) with the shell script mmh(1). *) slocal(1) lost its suppress duplicates feature and mmh thus lost the dependency on dbm. *) packf(1) prints to stdout. *) Added mmhwrap(1). *) whom(1) is rewritten from scratch. *) Many command line switches were removed. (Sec. 2.1.5) *) anno(1)'s command line switches were structurally reworked. Check the man page for details. (Sec. 2.3.2) *) Replaced the command line option `-format foo' with `-form =foo'. (Sec. 2.1.5) *) Path notations (with +, @, /, .) can now be used more interchangeable. (Sec. 2.3.2) *) All tools read the profile now. (Sec. 2.3.3) *) Renamed the -version switch to -Version. Sequences --------- *) The standard sequences `first', `prev', `cur', `next', `last', `all', `new' were renamed to `f', `p', `c', `n', `l', `a', `b', respectively. *) The unseen sequence and the sequence negation are set by default. repl(1) quotes the original message by default and forw(1) uses MIME encapsulation by default. (Sec. 2.2.5) Code ---- *) The indent style was changed -- sorry for that. (Sec. 2.3.1) *) Standard library functions have replaced local replacements, when possible. (Sec. 2.3.4) *) The programs are more separated now. Instead of sharing source code, the programs invoke each other. (Sec. 2.3.6) *) Mmh comprises only about half as much code as nmh-1.3.