Gnus nnir-summary-line-format has no effect

* lisp/gnus/nnir.el (nnir-mode): Update summary format specs if
nnir-summary-line-format is set and different from
gnus-summary-line-format.
(nnir-open-server): Run nnir-mode in gnus-summary-generate-hook
instead of gnus-summary-prepared-hook.
This commit is contained in:
Tassilo Horn 2020-06-07 10:01:41 +02:00
parent dd366b5d3b
commit 1af0e95fec

View file

@ -662,7 +662,7 @@ A non-nil `specs' arg must be an alist with `nnir-query-spec' and
(let ((backend (car (gnus-server-to-method server))))
(if backend
(nnoo-change-server backend server definitions)
(add-hook 'gnus-summary-prepared-hook 'nnir-mode)
(add-hook 'gnus-summary-generate-hook 'nnir-mode)
(nnoo-change-server 'nnir server definitions))))
(deffoo nnir-request-group (group &optional server dont-check _info)
@ -1849,8 +1849,11 @@ is also searched."
(defun nnir-mode ()
(when (eq (car (gnus-find-method-for-group gnus-newsgroup-name)) 'nnir)
(setq gnus-summary-line-format
(or nnir-summary-line-format gnus-summary-line-format))
(when (and nnir-summary-line-format
(not (string= nnir-summary-line-format
gnus-summary-line-format)))
(setq gnus-summary-line-format nnir-summary-line-format)
(gnus-update-format-specifications nil 'summary))
(when (bound-and-true-p gnus-registry-enabled)
(remove-hook 'gnus-summary-article-delete-hook 'gnus-registry-action t)
(remove-hook 'gnus-summary-article-move-hook 'gnus-registry-action t)