]> git.eshelyaron.com Git - emacs.git/commitdiff
When undoing a mark-as-read, display the group if it isn't
authorLars Ingebrigtsen <larsi@gnus.org>
Tue, 17 Apr 2018 18:52:14 +0000 (20:52 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Tue, 17 Apr 2018 19:32:25 +0000 (21:32 +0200)
* 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.

lisp/gnus/gnus-group.el
lisp/gnus/gnus-sum.el

index 271c3c838bfe9af00756c1bc93e53e544855a46a..6af27afbfaaed935f9fd6ebb6aa7f9087f0b8dfd 100644 (file)
@@ -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)))
index 4c54ac59d670f2ddbbefadbafbad3c46f00e72fa..e562b30170a0ce7e737843061a9974bc706bb817 100644 (file)
@@ -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)