summaryrefslogtreecommitdiff
path: root/lisp/gnus/gnus-group.el
diff options
context:
space:
mode:
authorEric Abrahamsen <eric@ericabrahamsen.net>2020-11-12 20:02:09 -0800
committerEric Abrahamsen <eric@ericabrahamsen.net>2020-11-13 17:25:46 -0800
commitbb28f8b9d1ebb4a93c66beca466cb15563075e8c (patch)
tree9c396ef830444565aef07e4d83e76272da9f3852 /lisp/gnus/gnus-group.el
parent51c29b7b0d9db89555bd65173feed0f25a1cccef (diff)
downloademacs-bb28f8b9d1ebb4a93c66beca466cb15563075e8c.tar.gz
emacs-bb28f8b9d1ebb4a93c66beca466cb15563075e8c.tar.bz2
emacs-bb28f8b9d1ebb4a93c66beca466cb15563075e8c.zip
Make sure Gnus search groups search topics recursively
* lisp/gnus/gnus-group.el (gnus-group-make-search-group, gnus-group-read-ephemeral-search-group): If a search is initiated from a topic line, make sure we get all the groups under that topic (and under sub-topics).
Diffstat (limited to 'lisp/gnus/gnus-group.el')
-rw-r--r--lisp/gnus/gnus-group.el14
1 files changed, 10 insertions, 4 deletions
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index c8b97c08524..73fda66fb6b 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -52,6 +52,8 @@
(autoload 'gnus-cloud-upload-all-data "gnus-cloud")
(autoload 'gnus-cloud-download-all-data "gnus-cloud")
+(autoload 'gnus-topic-find-groups "gnus-topic")
+
(defcustom gnus-no-groups-message "No news is good news"
"Message displayed by Gnus when no groups are available."
:group 'gnus-start
@@ -3194,8 +3196,10 @@ non-nil SPECS arg must be an alist with `search-query-spec' and
(or gnus-group-marked
(if (gnus-group-group-name)
(list (gnus-group-group-name))
- (cdr
- (assoc (gnus-group-topic-name) gnus-topic-alist))))))))
+ (mapcar #'caadr
+ (gnus-topic-find-groups
+ (gnus-group-topic-name)
+ nil 'all nil t))))))))
(query-spec
(or
(cdr (assq 'search-query-spec specs))
@@ -3243,8 +3247,10 @@ non-nil SPECS arg must be an alist with `search-query-spec' and
(or gnus-group-marked
(if (gnus-group-group-name)
(list (gnus-group-group-name))
- (cdr
- (assoc (gnus-group-topic-name) gnus-topic-alist))))))))
+ (mapcar #'caadr
+ (gnus-topic-find-groups
+ (gnus-group-topic-name)
+ nil 'all nil t))))))))
(query-spec
(or (cdr (assq 'search-query-spec specs))
(cdr (assq 'nnir-query-spec specs))