diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2018-04-17 20:52:14 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2018-04-17 21:32:25 +0200 |
commit | c99ba231602a40792317976149500120c4959d1c (patch) | |
tree | d85ad2aa5f4200d679a554a83aef445fdb4f5ed3 /lisp | |
parent | 0c9e3df3c2088b61feb4b4e00d24419459962273 (diff) | |
download | emacs-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.el | 19 | ||||
-rw-r--r-- | lisp/gnus/gnus-sum.el | 2 |
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) |