From e39079c74cf7eaf394c2cdf3bb9942ed375bfb66 Mon Sep 17 00:00:00 2001 From: Eric Abrahamsen Date: Mon, 1 May 2017 14:23:22 -0700 Subject: [PATCH] Remove Hyrex search engine * lisp/gnus/gnus-search.el: Yank the whole engine out, it was already obsolete, and now seems to not exist at all. * doc/misc/gnus.texi: Remove from docs. --- doc/misc/gnus.texi | 34 +++++++++-- lisp/gnus/gnus-search.el | 120 +++++---------------------------------- 2 files changed, 44 insertions(+), 110 deletions(-) diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index e00e173bc18..705112ed37e 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -808,6 +808,25 @@ nnir Setting up nnir * Associating Engines:: How to associate engines. +* The imap Engine:: Imap configuration and usage. +* The gmane Engine:: Gmane configuration and usage. +* The swish++ Engine:: Swish++ configuration and usage. +* The swish-e Engine:: Swish-e configuration and usage. +* The namazu Engine:: Namazu configuration and usage. +* The notmuch Engine:: Notmuch configuration and usage. +* Customizations:: User customizable settings. + +nnmairix + +* About mairix:: About the mairix mail search engine +* nnmairix requirements:: What you will need for using nnmairix +* What nnmairix does:: What does nnmairix actually do? +* Setting up mairix:: Set up your mairix installation +* Configuring nnmairix:: Set up the nnmairix back end +* nnmairix keyboard shortcuts:: List of available keyboard shortcuts +* Propagating marks:: How to propagate marks from nnmairix groups +* nnmairix tips and tricks:: Some tips, tricks and examples +* nnmairix caveats:: Some more stuff you might want to know Various @@ -21229,10 +21248,17 @@ to search non-gmane @code{nntp} servers.) But if you wanted to use @code{namazu} for all your servers with an @code{nnimap} backend you could change this to -@lisp -'((nnimap . namazu) - (nntp . gmane)) -@end lisp +@node Supported Engines +@subsection Supported Engines + +@menu +* The imap Engine:: Imap configuration and usage. +* The gmane Engine:: Gmane configuration and usage. +* The swish++ Engine:: Swish++ configuration and usage. +* The swish-e Engine:: Swish-e configuration and usage. +* The namazu Engine:: Namazu configuration and usage. +* The notmuch Engine:: Notmuch configuration and usage. +@end menu @node The imap Engine @subsubsection The imap Engine diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el index d5aa32ac8ac..942a9bd6933 100644 --- a/lisp/gnus/gnus-search.el +++ b/lisp/gnus/gnus-search.el @@ -208,55 +208,6 @@ This variable can also be set per-server." :version "26.3" :group 'gnus-search) -;; HyREX engine, see - -(defcustom gnus-search-hyrex-program "" - "Name of the hyrex search executable. - -This variable can also be set per-server." - :type 'string - :group 'gnus-search) - -(defcustom gnus-search-hyrex-additional-switches '() - "A list of strings, to be given as additional arguments for hyrex search. -Note that this should be a list. I.e., do NOT use the following: - (setq gnus-search-hyrex-additional-switches \"-ddl ddl.xml -c gnus-search\") ; wrong ! -Instead, use this: - (setq gnus-search-hyrex-additional-switches \\='(\"-ddl\" \"ddl.xml\" \"-c\" \"gnus-search\")) - -This variable can also be set per-server." - :type '(repeat string) - :group 'gnus-search) - -(defcustom gnus-search-hyrex-index-directory (getenv "HOME") - "Index directory for HyREX. - -This variable can also be set per-server." - :type 'directory - :group 'gnus-search) - -(defcustom gnus-search-hyrex-remove-prefix (concat (getenv "HOME") "/Mail/") - "The prefix to remove from each file name returned by HyREX -in order to get a group name (albeit with / instead of .). - -For example, suppose that HyREX returns file names such as -\"/home/john/Mail/mail/misc/42\". For this example, use the following -setting: (setq gnus-search-hyrex-remove-prefix \"/home/john/Mail/\") -Note the trailing slash. Removing this prefix gives \"mail/misc/42\". -`gnus-search' knows to remove the \"/42\" and to replace \"/\" with \".\" to -arrive at the correct group name, \"mail.misc\". - -This variable can also be set per-server." - :type 'directory - :group 'gnus-search) - -(defcustom gnus-search-hyrex-raw-queries-p nil - "If t, all Hyrex engines will only accept raw search query - strings." - :type 'boolean - :version "26.3" - :group 'gnus-search) - ;; Namazu engine, see (defcustom gnus-search-namazu-program "namazu" @@ -964,26 +915,26 @@ quirks.") (eieio-oset-default 'gnus-search-swish++ 'raw-queries-p gnus-search-swish++-raw-queries-p) -(defclass gnus-search-hyrex (gnus-search-indexed) - ((index-dir - :initarg :index +(defclass gnus-search-mairix (gnus-search-indexed) + ((config-file + :initarg :config-file :type string - :custom directory))) + :custom file))) -(eieio-oset-default 'gnus-search-hyrex 'program - gnus-search-hyrex-program) +(eieio-oset-default 'gnus-search-mairix 'program + gnus-search-mairix-program) -(eieio-oset-default 'gnus-search-hyrex 'index-dir - gnus-search-hyrex-index-directory) +(eieio-oset-default 'gnus-search-mairix 'switches + gnus-search-mairix-additional-switches) -(eieio-oset-default 'gnus-search-hyrex 'switches - gnus-search-hyrex-additional-switches) +(eieio-oset-default 'gnus-search-mairix 'prefix + gnus-search-mairix-remove-prefix) -(eieio-oset-default 'gnus-search-hyrex 'prefix - gnus-search-hyrex-remove-prefix) +(eieio-oset-default 'gnus-search-mairix 'config-file + gnus-search-mairix-configuration-file) -(eieio-oset-default 'gnus-search-hyrex 'raw-queries-p - gnus-search-hyrex-raw-queries-p) +(eieio-oset-default 'gnus-search-mairix 'raw-queries-p + gnus-search-mairix-raw-queries-p) (defclass gnus-search-namazu (gnus-search-indexed) ((index-dir @@ -1553,49 +1504,6 @@ absolute filepaths to standard out." (string-to-number score)) artlist)))))) -;; HyREX interface - -;; I have no idea what the hyrex search language looks like, and -;; suspect that the software isn't even supported anymore. - -(cl-defmethod gnus-search-indexed-search-command ((engine gnus-search-hyrex) - (qstring string)) - (with-slots (program index-dir switches) engine - `("-i" ,index-dir - ,@switches - ,qstring ; the query, in hyrex-search format - ))) - -(cl-defmethod gnus-search-indexed-massage-output ((engine gnus-search-hyrex) - server &optional groups) - (let ((groupspec (when groups - (regexp-opt - (mapcar - (lambda (x) (gnus-group-real-name x)) - groups)))) - (prefix (slot-value engine 'prefix)) - dirnam artno score artlist) - (goto-char (point-min)) - (keep-lines "^\\S + [0-9]+ [0-9]+$") - ;; HyREX doesn't search directly in groups -- so filter out here. - (when groupspec - (keep-lines groupspec)) - ;; extract data from result lines - (goto-char (point-min)) - (while (re-search-forward - "\\(\\S +\\) \\([0-9]+\\) \\([0-9]+\\)" nil t) - (setq dirnam (match-string 1) - artno (match-string 2) - score (match-string 3)) - (when (string-match prefix dirnam) - (setq dirnam (replace-match "" t t dirnam))) - (push (vector (gnus-group-full-name - (replace-regexp-in-string "/" "." dirnam) server) - (string-to-number artno) - (string-to-number score)) - artlist)) - artlist)) - ;; Namazu interface (cl-defmethod gnus-search-transform-expression ((engine gnus-search-namazu) -- 2.39.5