emacs-diffs
[Top][All Lists]
Advanced

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

master 33c7ddd: Another backwards-compatibility fix for gnus-search


From: Eric Abrahamsen
Subject: master 33c7ddd: Another backwards-compatibility fix for gnus-search
Date: Sun, 8 Nov 2020 12:06:16 -0500 (EST)

branch: master
commit 33c7ddd47da7645a5002185414868ff654452752
Author: Eric Abrahamsen <eric@ericabrahamsen.net>
Commit: Eric Abrahamsen <eric@ericabrahamsen.net>

    Another backwards-compatibility fix for gnus-search
    
    * lisp/gnus/gnus-search.el (gnus-search-server-to-engine): Because of
    the way we've set up the obsolete variable alias for
    `nnir-method-default-engines', we may end up with its value in
    `gnus-search-default-engines'. Make the check for "old style" values
    general, so we catch them no matter where they came from.
---
 lisp/gnus/gnus-search.el | 32 ++++++++++++++++++--------------
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el
index abee7c4..fbed902 100644
--- a/lisp/gnus/gnus-search.el
+++ b/lisp/gnus/gnus-search.el
@@ -1963,25 +1963,29 @@ remaining string, then adds all that to the top-level 
spec."
 (defun gnus-search-server-to-engine (srv)
   (let* ((method (gnus-server-to-method srv))
         (engine-config (assoc 'gnus-search-engine (cddr method)))
-        (server
-         (or (nth 1 engine-config)
-             (cdr-safe (assoc (car method) gnus-search-default-engines))
-             (when-let ((old (assoc 'nnir-search-engine
-                                    (cddr method))))
-               (nnheader-message
-                8 "\"nnir-search-engine\" is no longer a valid parameter")
-               (pcase (nth 1 old)
-                 ('notmuch 'gnus-search-notmuch)
-                 ('namazu 'gnus-search-namazu)
-                 ('find-grep 'gnus-search-find-grep)))))
-        (inst
+        (server (or (nth 1 engine-config)
+                    (cdr-safe (assoc (car method) gnus-search-default-engines))
+                    (when-let ((old (assoc 'nnir-search-engine
+                                           (cddr method))))
+                      (nnheader-message
+                       8 "\"nnir-search-engine\" is no longer a valid 
parameter")
+                      (nth 1 old))))
+        inst)
+    (setq server
+         (pcase server
+           ('notmuch 'gnus-search-notmuch)
+           ('namazu 'gnus-search-namazu)
+           ('find-grep 'gnus-search-find-grep)
+           ('imap 'gnus-search-imap)
+           (_ server))
+         inst
          (cond
           ((null server) nil)
           ((eieio-object-p server)
            server)
           ((class-p server)
            (make-instance server))
-          (t nil))))
+          (t nil)))
     (if inst
        (when (cddr engine-config)
          ;; We're not being completely backward-compatible here,
@@ -1994,7 +1998,7 @@ remaining string, then adds all that to the top-level 
spec."
               (nnheader-message
                5 "Invalid search engine parameter: (%s %s)"
                key value)))))
-      (error "No search engine defined for %S" method))
+      (error "No search engine defined for %s" srv))
     inst))
 
 (declare-function gnus-registry-get-id-key "gnus-registry" (id key))



reply via email to

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