[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] scratch/gnus-search 039df5e 30/30: Provide a bit more back
From: |
Eric Abrahamsen |
Subject: |
[Emacs-diffs] scratch/gnus-search 039df5e 30/30: Provide a bit more backward-compatibility |
Date: |
Thu, 1 Jun 2017 03:50:25 -0400 (EDT) |
branch: scratch/gnus-search
commit 039df5e777047ee2a7105029dda8fa2ac5520b89
Author: Eric Abrahamsen <address@hidden>
Commit: Eric Abrahamsen <address@hidden>
Provide a bit more backward-compatibility
* lisp/gnus/gnus-search.el (nnir-method-default-engines): Note
obsolete variable.
(gnus-search-server-to-engine): Handle old 'nnir-search-engine
server parameter keys. Additionally, warn when no engine can be
found for a server.
---
lisp/gnus/gnus-search.el | 45 ++++++++++++++++++++++++++++-----------------
1 file changed, 28 insertions(+), 17 deletions(-)
diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el
index af56c4b..a0252d7 100644
--- a/lisp/gnus/gnus-search.el
+++ b/lisp/gnus/gnus-search.el
@@ -1041,6 +1041,9 @@ quirks.")
(eieio-oset-default 'gnus-search-notmuch 'raw-queries-p
gnus-search-notmuch-raw-queries-p)
+(make-obsolete-variable 'nnir-method-default-engines
+ "see `gnus-search-default-engines'" "26.1")
+
(defcustom gnus-search-default-engines '((nnimap gnus-search-imap)
(nntp gnus-search-gmane))
"Alist of default search engines keyed by server method."
@@ -2089,30 +2092,38 @@ remaining string, then adds all that to the top-level
spec."
;; This should be done once at Gnus startup time, when the servers are
;; first opened, and the resulting engine instance attached to the
;; server.
-(defun gnus-search-server-to-engine (server)
- (let* ((server
- (or (assoc 'gnus-search-engine
- (cddr (gnus-server-to-method server)))
- (assoc (car (gnus-server-to-method server))
- gnus-search-default-engines)))
+(defun gnus-search-server-to-engine (srv)
+ (let* ((method (gnus-server-to-method srv))
+ (server
+ (or (assoc 'gnus-search-engine (cddr method))
+ (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 old
+ ('notmuch 'gnus-search-notmuch)
+ ('namazu 'gnus-search-notmuch)
+ ('find-grep 'gnus-search-find-grep)))))
(inst
(cond
((null server) nil)
((eieio-object-p (cadr server))
- (car server))
+ (cadr server))
((class-p (cadr server))
(make-instance (cadr server)))
(t nil))))
- (when inst
- (when (cddr server)
- (pcase-dolist (`(,key ,value) (cddr server))
- (condition-case nil
- (setf (slot-value inst key) value)
- ((invalid-slot-name invalid-slot-type)
- (nnheader-message
- 5 "Invalid search engine parameter: (%s %s)"
- key value)))))
- inst)))
+ (if inst
+ (when (cddr server)
+ (pcase-dolist (`(,key ,value) (cddr server))
+ (condition-case nil
+ (setf (slot-value inst key) value)
+ ((invalid-slot-name invalid-slot-type)
+ (nnheader-message
+ 5 "Invalid search engine parameter: (%s %s)"
+ key value)))))
+ (nnheader-message 5 "No search engine defined for %s" srv))
+ inst))
(autoload 'nnimap-make-thread-query "nnimap")
(declare-function gnus-registry-get-id-key "gnus-registry" (id key))
- [Emacs-diffs] scratch/gnus-search 9eebc88 21/30: More comments, small improvements, (continued)
- [Emacs-diffs] scratch/gnus-search 9eebc88 21/30: More comments, small improvements, Eric Abrahamsen, 2017/06/01
- [Emacs-diffs] scratch/gnus-search e39079c 08/30: Remove Hyrex search engine, Eric Abrahamsen, 2017/06/01
- [Emacs-diffs] scratch/gnus-search fcf327b 10/30: Add Mairix search engine, Eric Abrahamsen, 2017/06/01
- [Emacs-diffs] scratch/gnus-search 7f21251 29/30: Don't parse the address: key, Eric Abrahamsen, 2017/06/01
- [Emacs-diffs] scratch/gnus-search 64bf8de 27/30: Messed up rebase, Eric Abrahamsen, 2017/06/01
- [Emacs-diffs] scratch/gnus-search 8ea8644 23/30: Refactor parsing of indexed search engine output, Eric Abrahamsen, 2017/06/01
- [Emacs-diffs] scratch/gnus-search a43c410 13/30: Refactor parsing/no parsing of queries, Eric Abrahamsen, 2017/06/01
- [Emacs-diffs] scratch/gnus-search a1cfb38 01/30: WIP on a generalized search query language for Gnus, Eric Abrahamsen, 2017/06/01
- [Emacs-diffs] scratch/gnus-search 66a7735 20/30: WIP on rebase, Eric Abrahamsen, 2017/06/01
- [Emacs-diffs] scratch/gnus-search 9965b9b 28/30: Restore IMAP ability to short-circuit message-id searches, Eric Abrahamsen, 2017/06/01
- [Emacs-diffs] scratch/gnus-search 039df5e 30/30: Provide a bit more backward-compatibility,
Eric Abrahamsen <=
- [Emacs-diffs] scratch/gnus-search a80b6f9 02/30: Rename nnir.el to gnus-search.el, Eric Abrahamsen, 2017/06/01