4.2 Ranges

Many commands that operate on individual messages, such as mh-forward or mh-refile-msg take a RANGE argument. This argument can be used in several ways.

If you provide the prefix argument C-u to these commands, then you will be prompted for the message range. This can be any valid MH range which can include messages, sequences (see Using Sequences), and the abbreviations (described in the mh(1) man page):

<num1>-<num2>

Indicates all messages in the range <num1> to <num2>, inclusive. The range must be nonempty.

<num>:N
<num>:+N
<num>:-N

Up to N messages beginning with (or ending with) message num. Num may be any of the predefined symbols: first, prev, cur, next or last.

first:N
prev:N
next:N
last:N

The first, previous, next or last messages, if they exist.

all

All of the messages.

For example, a range that shows all of these things is ‘1 2 3 5-10 last:5 unseen’.

If the option transient-mark-mode is turned on and you set a region in the MH-Folder buffer, then the MH-E command will perform the operation on all messages in that region.

The ‘mh-range’ customization group contains a single option which affects how ranges are interpreted.

mh-interpret-number-as-range-flag

On means interpret a number as a range (default: ‘on’).

Since one of the most frequent ranges used is ‘last:N’, MH-E will interpret input such as ‘200’ as ‘last:200’ if the mh-interpret-number-as-range-flag option is on (which is the default). If you need to scan just the message 200, then use the range ‘200:1’ or ‘200-200’.