From 0f8eb65fb807a125dd601cd6b3ee746e6c7b6020 Mon Sep 17 00:00:00 2001 From: jao Date: Sun, 6 Sep 2026 15:36:38 +0100 Subject: a slew of little fixes courtesy of the byte compiler --- lib/jao-recoll.el | 76 ------------------------------------------------------- 1 file changed, 76 deletions(-) delete mode 100644 lib/jao-recoll.el (limited to 'lib/jao-recoll.el') diff --git a/lib/jao-recoll.el b/lib/jao-recoll.el deleted file mode 100644 index 364dfb5..0000000 --- a/lib/jao-recoll.el +++ /dev/null @@ -1,76 +0,0 @@ -;;; jao-recoll.el --- Utilities to use recoll -*- lexical-binding: t; -*- - -;; Copyright (C) 2025 Jose Antonio Ortega Ruiz - -;; Author: Jose Antonio Ortega Ruiz -;; Keywords: mail, text - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Commentary: - -;; Notably, a half-backed backend for Gnus - -;;; Code: - -(require 'gnus-search) - -(defclass gnus-search-recoll (gnus-search-indexed) - ((separator :type string :initform ".") - (program :initform "recoll") - (raw-queries-p :initform t))) - -(cl-defmethod gnus-search-indexed-extract ((_engine gnus-search-recoll)) - (prog1 (and (looking-at "^file://\\(.+\\)$") (list (match-string 1) 100)) - (forward-line 1))) - -(cl-defmethod gnus-search-transform-expression ((_engine gnus-search-recoll) - expr) - expr) - -(cl-defmethod gnus-search-indexed-search-command ((engine gnus-search-recoll) - (qstring string) - query - &optional groups) - (let* ((subdir (slot-value engine 'remove-prefix)) - (sep (slot-value engine 'separator)) - (gdirs (mapcar (lambda (g) - (let ((g (gnus-group-short-name g))) - (replace-regexp-in-string "\\." sep g))) - (or groups - (and (not (string= "" subdir)) (list subdir))))) - (dirsq (and gdirs - (concat "(" - (mapconcat (lambda (d) (format "dir:%s" d)) - gdirs " OR ") - ")"))) - (qstring (if (string-prefix-p "id:" qstring) - (replace-regexp-in-string "<\\|>" "\"" qstring) - qstring)) - (qstring (if (cdr (assoc 'thread query)) - (concat qstring " OR " - (replace-regexp-in-string "id:\"" "ref:\"" - qstring)) - qstring)) - (qstring (replace-regexp-in-string " or " " OR " qstring)) - (qstring (replace-regexp-in-string " and " " AND " qstring)) - (q (format "mime:message %s (%s)" dirsq qstring))) - ;; (message "query is: %s -- %S" q query) - `("-b" "-t" "-q" ,q))) - -(defun jao-recoll-gnus-search-engine (dir) - `(nnml "" (gnus-search-engine gnus-search-recoll (remove-prefix ,dir)))) - -(provide 'jao-recoll) -;;; jao-recoll.el ends here -- cgit v1.2.3