#### 3.19.1.3 Differences in MH Program Behavior ¶

`anno`

  The prompt in interactive mode is ‘`Component name:`’, instead of ‘`Enter component name:`’ displayed by the RAND `anno`.

  If a `-component field` is not specified and standard input is not connected to a terminal, `anno` does not display the prompt before reading the component from the standard input. RAND `anno` displays the prompt anyway.

`burst`

  The utility is able to burst both RFC 934 digest messages and MIME multipart messages. It provides two additional command line options: `-recurse` and `-length`.

  The `-recurse` option instructs the utility to recursively expand the digest.

  The `-length` option can be used to set the minimal encapsulation boundary length for RFC 934 digests. Default length is 1, i.e. encountering one dash immediately following a newline triggers digest decoding. It is OK for messages that follow RFC 934 specification. However, many user agents do not precisely follow it, in particular, they often do not escape lines starting with a dash by ‘`-` ’ sequence. `Mailman` is one of such agents. To cope with such digests you can set encapsulation boundary length to a higher value. For example, `bounce -length 8` has been found to be sufficient for most Mailman-generated digests.

`comp`

  Understands `-build` option.

`fmtdump`

  This command is not provided. Use `fmtcheck` instead.

`inc`
  - The `-moveto` option. The `-moveto` option instructs `inc` to move messages into another folder after incorporating them. This option has effect only if the `-truncate` option has also been specified and the underlying mailbox supports the ‘`move`’ operation. Currently only ‘`imap`’ and ‘`imaps`’ mailboxes support it. For example, the following command moves incorporated messages into the ‘`archive`’ folder:

        inc -file imaps://imap.gmail.com -moveto=archive

    The ‘`moveto`’ URL parameter can be used instead of this option, e.g.:

        inc -file 'imaps://imap.gmail.com;moveto=archive'

  - Multiple sources Mailutils `inc` is able to incorporate messages from several source mailboxes. These are specified via multiple `-file` options, e.g.:

        inc  -truncate \
             -file 'imaps://imap.gmail.com;moveto=archived' \
             -file pops://mail.gnu.org \
             -file /var/mail/root

  - URL parameters The following additional parameters can be used in the mailbox URLs supplied with the `-file` option:
    `moveto=folder`

      Moves incorporated messages into another folder. This was discussed above.

    `nomoveto`

      Disables the previous `-moveto` option.

    `truncate[=bool]`

      Controls source mailbox truncation. If bool is not given or it is ‘`yes`’, the mailbox will be truncated after successful processing. If bool is ‘`no`’, the source mailbox will not be truncated.

`mhl`

  The ‘`ignores`’ keyword can be used in variable list. In that case, if its value contains more than one component name it must be enclosed in double-quotes, e.g.:

      leftadjust,compwidth=9,"ignores=msgid,message-id,received"

  The above is equivalent to the following traditional notation:

      leftadjust,compwidth=9
      ignores=msgid,message-id,received

  The ‘`MessageName`’ component is not yet implemented.

  Interactive prompting is not yet implemented.

  The following format variables are silently ignored: ‘`center`’, ‘`split`’, ‘`datefield`’.

`mhn`
  - New option New option `-compose` forces `mhn` editing mode. This is also the default mode. This differs from the standard `mhn`, which switches to the editing mode only if no other options were given and the input file name coincides with the value of `mhdraft` environment variable.
  - Show mode (`-show`) If an appropriate mhn-show-type[/subtype] was not found, GNU `mhn` prints the decoded message content using `moreproc` variable. Standard `mhn` in this case used to print ‘`don't know how to display content`’ diagnostic.

    The default behaviour is to pipe the content to the standard input of the mhn-show-type[/subtype] command. This is altered to using a temporary file if the command contains `%f` or `%F` escapes.

  - Store mode (`-store`) If the `Content-Disposition` header contains ‘`filename=`’, and `mhn` is invoked with `-auto` switch, it transforms the file name into the absolute notation and uses it only if it lies below the current mhn-storage directory. Standard `mhn` only requires that the file name do not begin with ‘`/`’.

    Before saving a message part, GNU `mhn` checks if the file already exists. If so, it asks whether the user wishes to rewrite it. This behaviour is disabled when `-quiet` option was given.

`mhparam`

  The `-all` mode does not display commented out entries.

`pick`

  New command line option `-cflags` allows to control the type of regular expressions used. The option must occur right before `--component pattern` or equivalent construct (like `-cc`, `-from`, etc.)

  The argument to this option is a string of type specifications:

  B | Use basic regular expressions
  E | Use extended regular expressions
  I | Ignore case
  C | Case sensitive

  Default is ‘`EI`’.

  The flags remain in effect until the next occurrence of `-cflags` option.

  Sample usage:

      pick -cflag BC -subject '*a string'

  The date comparison options (`-before` and `-after` accept date specifications in a wide variety of formats, e.g.:

      pick -after 20030301
      pick -after 2003-03-01
      pick -after 01-mar-2003
      pick -after 2003-mar-01
      pick -before '1 year ago'
      etc...

`prompter`
  1. Prompter attempts to use GNU Readline library, if it is installed. Consequently, arguments to `-erase` and `-kill` option must follow GNU style key sequence notation (see keyseq in GNU Readline Library).

     If `prompter` is built without `readline`, it accepts the following character notations:

     \nnnn

       Here, n stands for a single octal digit.

     ^chr

       This notation is translated to the ASCII code ‘`chr + 0100`’.

  2. Component continuation lines are not required to begin with a whitespace. If leading whitespace is not present, `prompter` will add it automatically.
`refile`
  1. Linking messages between folders goes against the logic of Mailutils, so `refile` never makes links even if called with `-link` option. The latter is actually a synonym for `-copy`, which preserves the original message.
  2. The `-preserve` option is not implemented. It is retained for backward compatibility only.
  3. Message specs and folder names may be interspersed.
`repl`

  Understands `-use` option. Disposition shell provides `use` command.

`rmm`
  1. Different behaviour if one of the messages in the list does not exist:

     Mailutils `rmm` does not delete any messages. Standard `rmm` in this case deletes all messages preceding the non-existent one.

  2. The `rmm` utility will unlink messages, if the `rmmproc` profile component has empty value, e.g.:

         rmmproc:

`scan`

  The `-file` option is not supported. This option is present in the `nmh` implementation of `scan`.

`sortm`

  New option `-numfield` specifies numeric comparison for the given field.

  Any number of `-datefield`, `-textfield` and `-numfield` options may be given, thus allowing to build sort criteria of arbitrary complexity.

  The order of `-.*field` options sets the ordering priority. This differs from the behaviour of the standard `sortm`, which always orders datefield-major, textfield-minor.

  Apart from sorting the mailfolder the following actions may be specified:

  `-list`

    List the ordered messages using a format string given by `-form` or `-format` option.

  `-dry-run`

    Do not actually sort messages, rather print what would have been done. This is useful for debugging purposes.