summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2018-04-17 20:52:14 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2018-04-17 21:32:25 +0200
commitc99ba231602a40792317976149500120c4959d1c (patch)
treed85ad2aa5f4200d679a554a83aef445fdb4f5ed3 /lisp
parent0c9e3df3c2088b61feb4b4e00d24419459962273 (diff)
downloademacs-c99ba231602a40792317976149500120c4959d1c.tar.gz
When undoing a mark-as-read, display the group if it isn't
* lisp/gnus/gnus-group.el (gnus-group-jump-to-group): Return whether we found the group. (gnus-info-clear-data): Make the group visible if it wasn't. * lisp/gnus/gnus-sum.el (gnus-group-make-articles-read): Ditto. (gnus-update-read-articles): Ditto.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/gnus/gnus-group.el19
-rw-r--r--lisp/gnus/gnus-sum.el2
2 files changed, 12 insertions, 9 deletions
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index 271c3c838bf..6af27afbfaa 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -2551,14 +2551,15 @@ If PROMPT (the prefix) is a number, use the prompt specified in
(when (equal group "")
(error "Empty group name"))
- (unless (gnus-ephemeral-group-p group)
- ;; Either go to the line in the group buffer...
- (unless (gnus-group-goto-group group)
- ;; ... or insert the line.
- (gnus-group-update-group group)
- (gnus-group-goto-group group)))
- ;; Adjust cursor point.
- (gnus-group-position-point))
+ (prog1
+ (unless (gnus-ephemeral-group-p group)
+ ;; Either go to the line in the group buffer...
+ (unless (gnus-group-goto-group group)
+ ;; ... or insert the line.
+ (gnus-group-update-group group)
+ (gnus-group-goto-group group)))
+ ;; Adjust cursor point.
+ (gnus-group-position-point)))
(defun gnus-group-goto-group (group &optional far test-marked)
"Goto to newsgroup GROUP.
@@ -3560,7 +3561,7 @@ Obeys the process/prefix convention."
(gnus-request-set-mark ,group ',action)
(gnus-info-set-marks ',info ',(gnus-info-marks info) t)
(gnus-info-set-read ',info ',(gnus-info-read info))
- (when (gnus-group-goto-group ,group)
+ (when (gnus-group-jump-to-group ,group)
(gnus-get-unread-articles-in-group ',info ',(gnus-active group) t)
(gnus-group-update-group-line))))
(setq action (mapcar (lambda (el) (list (nth 0 el) 'del (nth 2 el)))
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 4c54ac59d67..e562b30170a 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -6310,6 +6310,7 @@ The resulting hash table is returned, or nil if no Xrefs were found."
(when ,set-marks
(gnus-request-set-mark
,group (list (list ',range 'del '(read)))))
+ (gnus-group-jump-to-group ,group)
(gnus-group-update-group ,group t))))
;; Add the read articles to the range.
(gnus-info-set-read info range)
@@ -12726,6 +12727,7 @@ UNREAD is a sorted list."
`(progn
(gnus-info-set-marks ',info ',(gnus-info-marks info) t)
(gnus-info-set-read ',info ',(gnus-info-read info))
+ (gnus-group-jump-to-group ,group)
(gnus-get-unread-articles-in-group ',info
(gnus-active ,group))
(gnus-group-update-group ,group t)