Allow sending IMAP search patterns directly.
authorLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Sat, 25 Sep 2010 14:19:00 +0000 (16:19 +0200)
committerLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Sat, 25 Sep 2010 14:19:00 +0000 (16:19 +0200)
From Andrew Cohen.

lisp/ChangeLog
lisp/nnir.el

index 58497ca..ace8d5c 100644 (file)
@@ -1,3 +1,8 @@
+2010-09-25  Andrew Cohen  <cohen@andy.bu.edu>  (tiny change)
+
+       * nnir.el (nnir-run-imap): Allow sending IMAP search patterns
+       directly.
+
 2010-09-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus.el (gnus-local-domain): Put gnus-local-domain back again, since
index ec22c78..db8b397 100644 (file)
 (gnus-declare-backend "nnir" 'mail)
 
 (defvar nnir-imap-search-field "TEXT"
-  "The IMAP search item when doing an nnir search")
+  "The IMAP search item when doing an nnir search. To use raw
+  imap queries by default set this to \"\"")
 
 (defvar nnir-imap-search-arguments
   '(("Whole message" . "TEXT")
     ("Subject" . "SUBJECT")
     ("To" . "TO")
     ("From" . "FROM")
-    (nil . "HEADER \"%s\""))
+    ("Head" . "HEADER \"%s\"")
+    (nil . ""))
   "Mapping from user readable strings to IMAP search items for use in nnir")
 
 (defvar nnir-imap-search-argument-history ()
@@ -981,8 +983,11 @@ details on the language and supported extensions"
              (message "Searching %s..." group)
              (let ((arts 0)
                    (result
-                    (nnimap-command "UID SEARCH  %s" 
-                                    (nnir-imap-make-query criteria qstring))))
+                    (nnimap-command "UID SEARCH  %s"
+                                    (if (string= criteria "")
+                                        qstring
+                                      (nnir-imap-make-query criteria qstring)
+                                      ))))
                (mapc
                 (lambda (artnum)
                   (push (vector group artnum 1) artlist)