]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid circular import
authorEric Abrahamsen <eric@ericabrahamsen.net>
Wed, 3 May 2017 20:10:18 +0000 (13:10 -0700)
committerEric Abrahamsen <eric@ericabrahamsen.net>
Fri, 26 May 2017 05:47:43 +0000 (13:47 +0800)
* lisp/gnus/gnus-group.el: Don't require 'gnus-search at top
  level. Better solution for this?

lisp/gnus/gnus-group.el
lisp/gnus/gnus-search.el

index b7b94da0e5017b5439f631c6e4c36167efe54f83..8f7dc92ae297bc60913bec212f7de5311deaa801 100644 (file)
@@ -32,7 +32,6 @@
 (require 'gnus-start)
 (require 'nnmail)
 (require 'gnus-spec)
-(require 'gnus-search)
 (require 'gnus-int)
 (require 'gnus-range)
 (require 'gnus-win)
@@ -42,6 +41,7 @@
 
 (eval-when-compile
   (require 'mm-url)
+  (require 'nnselect)
   (let ((features (cons 'gnus-group features)))
     (require 'gnus-sum))
   (unless (boundp 'gnus-cache-active-hashtb)
@@ -54,6 +54,8 @@
 (autoload 'gnus-cloud-download-all-data "gnus-cloud")
 (autoload 'gnus-registry-get-id-key "gnus-registry")
 
+(declare-function 'gnus-group-topic-name "gnus-topic")
+
 (defcustom gnus-no-groups-message "No news is good news"
   "Message displayed by Gnus when no groups are available."
   :group 'gnus-start
@@ -2811,6 +2813,7 @@ means the search query will be passed raw to the . A
 non-nil `specs' arg must be an alist with `search-query-spec' and
 `search-group-spec' keys, and skips all prompting."
   (interactive "P")
+  (require 'gnus-search)
   (let* ((group-spec
          (or (cdr (assq 'search-group-spec specs))
            (if (gnus-server-server-name)
@@ -2819,7 +2822,8 @@ 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))))
+                    (when (gnus-topic-mode-p)
+                      (cdr (assoc (gnus-group-topic-name) gnus-topic-alist)))))
               gnus-group-server))))
         (query-spec
          (or (cdr (assq 'search-query-spec specs))
index 040dca4b202bbd835646881d2b9cb622efa73b23..1407ecd71c6af3503a93d1f61bb4086108debfe0 100644 (file)
 
 (require 'gnus-group)
 (require 'gnus-sum)
-(require 'nnselect)
 (require 'message)
 (require 'gnus-util)
 (require 'eieio)
 (eval-when-compile (require 'cl-lib))
 (autoload 'eieio-build-class-alist "eieio-opt")
 
+(eval-when-compile
+  (require 'nnselect))
+
 (defvar gnus-inhibit-demon)
 (defvar gnus-english-month-names)