emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r105294: nnir.el (gnus-group-make-nni


From: Katsumi Yamaoka
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r105294: nnir.el (gnus-group-make-nnir-group): Allow optional search query argument.
Date: Wed, 20 Jul 2011 15:24:16 +0000
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 105294
author: Andrew Cohen <address@hidden>
committer: Katsumi Yamaoka <address@hidden>
branch nick: trunk
timestamp: Wed 2011-07-20 15:24:16 +0000
message:
  nnir.el (gnus-group-make-nnir-group): Allow optional search query argument.
   (gnus-group-make-nnir-group, nnir-request-group, nnir-run-query): Use 
`nnir-address' to handle server info rather than passing an arg.
modified:
  lisp/gnus/ChangeLog
  lisp/gnus/nnir.el
=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2011-07-20 14:19:52 +0000
+++ b/lisp/gnus/ChangeLog       2011-07-20 15:24:16 +0000
@@ -1,5 +1,10 @@
 2011-07-20  Andrew Cohen  <address@hidden>
 
+       * nnir.el (gnus-group-make-nnir-group): Allow optional search query
+       argument.
+       (gnus-group-make-nnir-group, nnir-request-group, nnir-run-query): Use
+       `nnir-address' to handle server info rather than passing an arg.
+
        * nnimap.el (nnimap-make-thread-query): New utility function to format
        an imap thread search query.
        (nnimap-request-thread): Use it.

=== modified file 'lisp/gnus/nnir.el'
--- a/lisp/gnus/nnir.el 2011-07-19 22:19:06 +0000
+++ b/lisp/gnus/nnir.el 2011-07-20 15:24:16 +0000
@@ -296,6 +296,9 @@
 (nnoo-declare nnir)
 (nnoo-define-basics nnir)
 
+(defvoo nnir-address nil
+  "The address of the nnir server.")
+
 (gnus-declare-backend "nnir" 'mail)
 
 
@@ -582,18 +585,17 @@
 
 ;; Gnus glue.
 
-(defun gnus-group-make-nnir-group (nnir-extra-parms)
+(defun gnus-group-make-nnir-group (nnir-extra-parms &optional parms)
   "Create an nnir group.  Asks for query."
   (interactive "P")
   (setq nnir-current-query nil
        nnir-current-server nil
        nnir-current-group-marked nil
        nnir-artlist nil)
-  (let* ((query (read-string "Query: " nil 'nnir-search-history))
-        (parms (list (cons 'query query)))
-        (srv (if (gnus-server-server-name)
-                 "all" "")))
-    (add-to-list 'parms (cons 'unique-id (message-unique-id)) t)
+  (let* ((query (unless parms (read-string "Query: " nil 
'nnir-search-history)))
+        (parms (or parms (list (cons 'query query))))
+        (srv (or (cdr (assq 'server parms)) (gnus-server-server-name) "nnir")))
+   (add-to-list 'parms (cons 'unique-id (message-unique-id)) t)
     (gnus-group-read-ephemeral-group
      (concat "nnir:" (prin1-to-string parms)) (list 'nnir srv) t
      (cons (current-buffer) gnus-current-window-configuration)
@@ -617,7 +619,7 @@
                (equal server nnir-current-server)))
       nnir-artlist
     ;; Cache miss.
-    (setq nnir-artlist (nnir-run-query group server)))
+    (setq nnir-artlist (nnir-run-query group)))
   (with-current-buffer nntp-server-buffer
     (setq nnir-current-query group)
     (when server (setq nnir-current-server server))
@@ -1594,14 +1596,13 @@
 
 (autoload 'gnus-group-topic-name "gnus-topic")
 
-(defun nnir-run-query (query nserver)
+(defun nnir-run-query (query)
   "Invoke appropriate search engine function (see `nnir-engines').
   If some groups were process-marked, run the query for each of the groups
   and concat the results."
   (let ((q (car (read-from-string query)))
-        (groups (if (string= "all-ephemeral" nserver)
-                   (with-current-buffer gnus-server-buffer
-                     (list (list (gnus-server-server-name))))
+        (groups (if (not (string= "nnir" nnir-address))
+                   (list (list nnir-address))
                  (nnir-categorize
                   (or gnus-group-marked
                       (if (gnus-group-group-name)


reply via email to

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