By default, Gnus tries to make sure that you don't have to read the same article more than once by utilizing the crossposting mechanism (see Crosspost Handling). However, that simple and efficient approach may not work satisfactory for some users for various reasons.
Xrefheader. This is evil and not very common.
Xrefheader in the .overview data bases. This is evil and all too common, alas.
I'm sure there are other situations where
Xref handling fails as
well, but these four are the most common situations.
If, and only if,
Xref handling fails for you, then you may
consider switching on duplicate suppression. If you do so, Gnus
will remember the
Message-IDs of all articles you have read or
otherwise marked as read, and then, as if by magic, mark them as read
all subsequent times you see them—in all groups. Using this
mechanism is quite likely to be somewhat inefficient, but not overly
so. It's certainly preferable to reading the same articles more than
Duplicate suppression is not a very subtle instrument. It's more like a sledge hammer than anything else. It works in a very simple fashion—if you have marked an article as read, it adds this Message-ID to a cache. The next time it sees this Message-ID, it will mark the article as read with the ‘M’ mark. It doesn't care what group it saw the article in.
nil, suppress duplicates.
nil, save the list of duplicates to a file. This will make startup and shutdown take longer, so the default is
nil. However, this means that only duplicate articles read in a single Gnus session are suppressed.
Message-IDs to keep in the duplicate suppression list. The default is 10000.
If you have a tendency to stop and start Gnus often, setting
t is probably a good idea. If
you leave Gnus running for weeks on end, you may have it
the other hand, saving the list makes startup and shutdown much slower,
so that means that if you stop and start Gnus often, you should set
nil. Uhm. I'll leave this up
to you to figure out, I think.