Many functions, among them functions for moving, decoding and saving articles, use what is known as the Process/Prefix convention.
This is a method for figuring out what articles the user wants the command to be performed on.
It goes like this:
If the numeric prefix is N, perform the operation on the next N articles, starting with the current one. If the numeric prefix is negative, perform the operation on the previous N articles, starting with the current one.
transient-mark-mode in non-
nil and the region is
active, all articles in the region will be worked upon.
If there is no numeric prefix, but some articles are marked with the process mark, perform the operation on the articles marked with the process mark.
If there is neither a numeric prefix nor any articles marked with the process mark, just perform the operation on the current article.
Quite simple, really, but it needs to be made clear so that surprises are avoided.
Commands that react to the process mark will push the current list of process marked articles onto a stack and will then clear all process marked articles. You can restore the previous configuration with the M P y command (see Setting Process Marks).
One thing that seems to shock & horrify lots of people is that, for
instance, 3 d does exactly the same as d d d.
Since each d (which marks the current article as read) by default
goes to the next unread article after marking, this means that 3 d
will mark the next three unread articles as read, no matter what the
summary buffer looks like. Set
nil for a more straightforward action.