Subject: bug#31057: 27.0.50; Gnus: Make configurable what to show when selecting a group

From: Michael Heerdegen <[email-masked]>
Date: Fri, 13 Apr 2018 14:16:16 +0200

Lars Ingebrigtsen <[email-masked]> writes:

> I see.  I'm not familiar with the way nadvice works at all.

You should definitely have a look!

> Have you checked that the list of articles that's finally returned is
> the one you expect?

Yes, I think so.

> Try edebugging through gnus-select-newsgroup to see whether there's
> anything there that removes the list you've returned (if you've
> returned it. :-)).

Hmm - ehhm - it suddenly works as expected!

But I did not change anything in my config.  I switched from emacs-26 to
master since my report, and the registry corruption has been fixed -
dunno if that made the difference.

So, I guess you can close this report.  I can reopen it when the issue
reappears.

For the record, I changed my code to

#+begin_src emacs-lisp
(add-function :around gnus-alter-articles-to-read-function
              (defun my-gnus-auto-show-registry-marked (f group-name article-list)
                (cl-union
                 (delq nil
                       (mapcar (lambda (id) (cdr (gnus-request-head id group-name)))
                               (cl-loop for key being the hash-keys of (oref gnus-registry-db data)
                                        using (hash-values v)
                                        when (cdr (assoc 'mark v))
                                        collect key)))
                 (funcall f group-name article-list))))
#+end_src

to look at the cdr of (assoc 'mark v) because when you delete a custom
mark, this leaves over an association like (Note) for me, which the
first version I had posted erroneously interpreted as "custom mark
present".

Thanks,

Michael.