emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] scratch/gnus-search ede46af 12/30: Avoid circular import


From: Eric Abrahamsen
Subject: [Emacs-diffs] scratch/gnus-search ede46af 12/30: Avoid circular import
Date: Thu, 1 Jun 2017 03:50:21 -0400 (EDT)

branch: scratch/gnus-search
commit ede46affca032ded937eedbdb7ac595ad4b574e0
Author: Eric Abrahamsen <address@hidden>
Commit: Eric Abrahamsen <address@hidden>

    Avoid circular import
    
    * lisp/gnus/gnus-group.el: Don't require 'gnus-search at top
      level. Better solution for this?
---
 lisp/gnus/gnus-group.el  | 8 ++++++--
 lisp/gnus/gnus-search.el | 4 +++-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index b7b94da..8f7dc92 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -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))
diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el
index 040dca4..1407ecd 100644
--- a/lisp/gnus/gnus-search.el
+++ b/lisp/gnus/gnus-search.el
@@ -63,13 +63,15 @@
 
 (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)
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]