Hi lately I am back to use gnus-registry-set-article-DONE-mark and
friends, however when call one of the functions I obtain
#+begin_src
[]{ }O. 165767 [ +User1] UWE RICHAR [Sobre la Hoja 3
] Wed, 10 Sep 2025 21:28:25 +0200 11k 45
#+end_src
I add a label via =gnus-registry-set-article-TODO-mark=
And then obtain
#+begin_src
[TODO]{ }O. 165767 [ +User1] UWE RICHAR [Sobre la Hoja 3
] Wed, 10 Sep 2025 21:28:25 +0200 11k 45
[]{ }O. 165767 [ +User1] UWE RICHAR [Sobre la Hoja 3
] Wed, 10 Sep 2025 21:28:25 +0200 11k 45
#+end_src
And I have to run =gnus-summary-prepare= to obtain
#+begin_src
[TODO]{ }O. 165767 [ +User1] UWE RICHAR [Sobre la Hoja 3
] Wed, 10 Sep 2025 21:28:25 +0200 11k 45
[]{ }O. 165767 [ +User1] UWE RICHAR [Sobre la Hoja 3
] Wed, 10 Sep 2025 21:28:25 +0200 11k 45
#+end_src
That is annoying, here is a workaround
(defun my-gnus-refresh-summary (&rest _args)
"Refresh the Gnus summary buffer non-intrusively, keeping point on the same
article."
(when (derived-mode-p 'gnus-summary-mode)
(let ((article (gnus-summary-article-number))) ;; remember current article
(save-window-excursion
(gnus-summary-prepare))
(when article
(gnus-summary-goto-article article)))))
(dolist (fn '(gnus-registry-set-article-DONE-mark
gnus-registry-set-article-Imp-mark
gnus-registry-set-article-Later-mark
gnus-registry-set-article-TODO-mark
gnus-registry-set-article-WAIT-mark
gnus-registry-remove-article-DONE-mark
gnus-registry-remove-article-Imp-mark
gnus-registry-remove-article-Later-mark
gnus-registry-remove-article-TODO-mark
gnus-registry-remove-article-WAIT-mark))
(advice-add fn :after #'my-gnus-refresh-summary))
Thoughts?
Uwe Brauer