gnus: nnmaildir Group Parameters
6.4.13.6 Group parameters
.........................
‘nnmaildir’ uses several group parameters. It’s safe to ignore all
this; the default behavior for ‘nnmaildir’ is the same as the default
behavior for other mail back ends: articles are deleted after one week,
etc. Except for the expiry parameters, all this functionality is unique
to ‘nnmaildir’, so you can ignore it if you’re just trying to duplicate
the behavior you already have with another back end.
If the value of any of these parameters is a vector, the first
element is evaluated as a Lisp form and the result is used, rather than
the original value. If the value is not a vector, the value itself is
evaluated as a Lisp form. (This is why these parameters use names
different from those of other, similar parameters supported by other
back ends: they have different, though similar, meanings.) (For
numbers, strings, ‘nil’, and ‘t’, you can ignore the ‘eval’ business
again; for other values, remember to use an extra quote and wrap the
value in a vector when appropriate.)
‘expire-age’
An integer specifying the minimum age, in seconds, of an article
before it will be expired, or the symbol ‘never’ to specify that
articles should never be expired. If this parameter is not set,
‘nnmaildir’ falls back to the usual
‘nnmail-expiry-wait’(‘-function’) variables (the ‘expiry-wait’
group parameter overrides ‘nnmail-expiry-wait’ and makes
‘nnmail-expiry-wait-function’ ineffective). If you wanted a value
of 3 days, you could use something like ‘[(* 3 24 60 60)]’;
‘nnmaildir’ will evaluate the form and use the result. An
article’s age is measured starting from the article file’s
modification time. Normally, this is the same as the article’s
delivery time, but editing an article makes it younger. Moving an
article (other than via expiry) may also make an article younger.
‘expire-group’
If this is set to a string such as a full Gnus group name, like
"backend+server.address.string:group.name"
and if it is not the name of the same group that the parameter
belongs to, then articles will be moved to the specified group
during expiry before being deleted. _If this is set to an
‘nnmaildir’ group, the article will be just as old in the
destination group as it was in the source group._ So be careful
with ‘expire-age’ in the destination group. If this is set to the
name of the same group that the parameter belongs to, then the
article is not expired at all. If you use the vector form, the
first element is evaluated once for each article. So that form can
refer to ‘nnmaildir-article-file-name’, etc., to decide where to
put the article. _Even if this parameter is not set, ‘nnmaildir’
does not fall back to the ‘expiry-target’ group parameter or the
‘nnmail-expiry-target’ variable._
‘read-only’
If this is set to ‘t’, ‘nnmaildir’ will treat the articles in this
maildir as read-only. This means: articles are not renamed from
‘new/’ into ‘cur/’; articles are only found in ‘new/’, not ‘cur/’;
articles are never deleted; articles cannot be edited. ‘new/’ is
expected to be a symlink to the ‘new/’ directory of another
maildir—e.g., a system-wide mailbox containing a mailing list of
common interest. Everything in the maildir outside ‘new/’ is _not_
treated as read-only, so for a shared mailbox, you do still need to
set up your own maildir (or have write permission to the shared
mailbox); your maildir just won’t contain extra copies of the
articles.
‘directory-files’
A function with the same interface as ‘directory-files’. It is
used to scan the directories in the maildir corresponding to this
group to find articles. The default is the function specified by
the server’s ‘directory-files’ parameter.
‘distrust-Lines:’
If non-‘nil’, ‘nnmaildir’ will always count the lines of an
article, rather than use the ‘Lines:’ header field. If ‘nil’, the
header field will be used if present.
‘always-marks’
A list of mark symbols, such as ‘['(read expire)]’. Whenever Gnus
asks ‘nnmaildir’ for article marks, ‘nnmaildir’ will say that all
articles have these marks, regardless of whether the marks stored
in the filesystem say so. This is a proof-of-concept feature that
will probably be removed eventually; it ought to be done in Gnus
proper, or abandoned if it’s not worthwhile.
‘never-marks’
A list of mark symbols, such as ‘['(tick expire)]’. Whenever Gnus
asks ‘nnmaildir’ for article marks, ‘nnmaildir’ will say that no
articles have these marks, regardless of whether the marks stored
in the filesystem say so. ‘never-marks’ overrides ‘always-marks’.
This is a proof-of-concept feature that will probably be removed
eventually; it ought to be done in Gnus proper, or abandoned if
it’s not worthwhile.
‘nov-cache-size’
An integer specifying the size of the NOV memory cache. To speed
things up, ‘nnmaildir’ keeps NOV data in memory for a limited
number of articles in each group. (This is probably not
worthwhile, and will probably be removed in the future.) This
parameter’s value is noticed only the first time a group is seen
after the server is opened—i.e., when you first start Gnus,
typically. The NOV cache is never resized until the server is
closed and reopened. The default is an estimate of the number of
articles that would be displayed in the summary buffer: a count of
articles that are either marked with ‘tick’ or not marked with
‘read’, plus a little extra.