koldfront

Filtering on Supersedes header #feedbase #nntp #gnus

🕝︎ - 2023-12-09

Recently the question about how to filter (score) on the Supersedes: header when reading news via NNTP in Gnus was raised.

This is especially relevant on Feedbase, where updates to RSS/Atom entries are recorded as new articles that supersede previous ones. If you don't care about updates, down-scoring articles with Supersedes: is a nice solution.

Newsreaders, such as Gnus, can only do that effectively on the fields returned by the XOVER command in NNTP, so while somebody figured out how to do it by making Gnus fetch headers for all articles, it was slow.

The LIST OVERVIEW.FMT command in NNTP gives a list of the fields returned by XOVER, so I thought an easy solution would be to just add Supersedes: to that list, and to the output of XOVER.

After having done that, I still wasn't able to get Gnus to score on the new field.

Tracing through the Emacs lisp code with M-x edebug-defun didn't make me any wiser to the problem, it looked like it was comparing with "nil" rather than the value I knew XOVER was returning.

The next day I tried tracing some more, and finally realized that I was missing the name of the header in the information I added to XOVER!

After fixing that, this scoring rule worked as expected:

  (("extra" ("." -1000 nil r "Supersedes")))

\o/

Add comment

How to in excruciating detail…

To avoid spam many websites make you fill out a CAPTCHA, or log in via an account at a corporation such as Twitter, Facebook, Google or even Microsoft GitHub.

I have chosen to use a more old school method of spam prevention.

To post a comment here, you need to:

  • Configure a newsreader¹ to connect to the server koldfront.dk on port 1119 using nntps (nntp over TLS).
  • Open the newsgroup called lantern.koldfront and post a follow up to the article.
¹ Such as Thunderbird, Pan, slrn, tin or Gnus (part of Emacs).

Or, you can fill in this form:

+=