Fortunately, setting up the Gnus registry is pretty easy:
(setq gnus-registry-max-entries 2500) (gnus-registry-initialize)
This adds registry saves to Gnus newsrc saves (which happen on exit
and when you press s from the *Group* buffer. It also
adds registry calls to article actions in Gnus (copy, move, etc.) so
it's not easy to undo the initialization. See
gnus-registry-initialize for the gory details.
Here are other settings used by the author of the registry (understand what they do before you copy them blindly).
(setq gnus-registry-split-strategy 'majority gnus-registry-ignored-groups '(("nntp" t) ("nnrss" t) ("spam" t) ("train" t)) gnus-registry-max-entries 500000 ;; this is the default gnus-registry-track-extra '(sender subject))
They say: keep a lot of messages around, track messages by sender and subject (not just parent Message-ID), and when the registry splits incoming mail, use a majority rule to decide where messages should go if there's more than one possibility. In addition, the registry should ignore messages in groups that match “nntp”, “nnrss”, “spam”, or “train.”
You are doubtless impressed by all this, but you ask: “I am a Gnus user, I customize to live. Give me more.” Here you go, these are the general settings.
The groups that will not be followed by
gnus-registry-split-fancy-with-parent. They will still be remembered by the registry. This is a list of regular expressions. By default any group name that ends with “delayed”, “drafts”, “queue”, or “INBOX”, belongs to the nnmairix backend, or contains the word “archive” is not followed.
The number (an integer or
nilfor unlimited) of entries the registry will keep. If the registry has reached or exceeded this size, it will reject insertion of new entries.
This option (a float between 0 and 1) controls how much the registry is cut back during pruning. In order to prevent constant pruning, the registry will be pruned back to less than
gnus-registry-max-entries. This option controls exactly how much less: the target is calculated as the maximum number of entries minus the maximum number times this factor. The default is 0.1: i.e., if your registry is limited to 50000 entries, pruning will try to cut back to 45000 entries. Entries with keys marked as precious will not be pruned.
This option specifies how registry entries are sorted during pruning. If a function is given, it should sort least valuable entries first, as pruning starts from the beginning of the list. The default value is
gnus-registry-sort-by-creation-time, which proposes the oldest entries for pruning. Set to nil to perform no sorting, which will speed up the pruning process.