1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

Don't unhide first thread if entering without selecting article

* lisp/gnus/gnus-sum.el (gnus-summary-first-unread-subject)
(gnus-summary-first-unseen-subject)
(gnus-summary-first-unseen-or-unread-subject): Use it.
(gnus-summary--goto-and-possibly-unhide): New function -- don't
unhide the first thread unless necessary (bug#51344).
This commit is contained in:
Lars Ingebrigtsen 2021-10-24 20:25:12 +02:00
parent e6946bf5f2
commit 74846b8d30

View file

@ -8064,9 +8064,7 @@ Return nil if there are no unread articles."
Return nil if there are no unread articles."
(interactive nil gnus-summary-mode)
(prog1
(when (gnus-summary-first-subject t)
(gnus-summary-show-thread)
(gnus-summary-first-subject t))
(gnus-summary--goto-and-possibly-unhide t)
(gnus-summary-position-point)))
(defun gnus-summary-next-unseen-article (&optional backward)
@ -8100,23 +8098,27 @@ Return nil if there are no unread articles."
Return nil if there are no unseen articles."
(interactive nil gnus-summary-mode)
(prog1
(when (gnus-summary-first-subject nil nil t)
(gnus-summary-show-thread)
(gnus-summary-first-subject nil nil t))
(gnus-summary--goto-and-possibly-unhide)
(gnus-summary-position-point)))
(defun gnus-summary--goto-and-possibly-unhide (&optional unread undownloaded
unseen)
(let ((first (gnus-summary-first-subject unread undownloaded unseen)))
(if (and first
(not (= first (gnus-summary-article-number))))
(progn
(gnus-summary-show-thread)
(gnus-summary-first-subject unread undownloaded unseen))
first)))
(defun gnus-summary-first-unseen-or-unread-subject ()
"Place the point on the subject line of the first unseen and unread article.
If all articles have been seen, on the subject line of the first unread
article."
(interactive nil gnus-summary-mode)
(prog1
(unless (when (gnus-summary-first-subject nil nil t)
(gnus-summary-show-thread)
(gnus-summary-first-subject nil nil t))
(when (gnus-summary-first-subject t)
(gnus-summary-show-thread)
(gnus-summary-first-subject t)))
(unless (gnus-summary--goto-and-possibly-unhide nil nil t)
(gnus-summary-first-subject t))
(gnus-summary-position-point)))
(defun gnus-summary-first-article ()