Mercurial > emacs
comparison lisp/gnus/nnir.el @ 110516:4d2f8b81bb01
Merge changes made in Gnus trunk.
nnimap.el (nnimap-update-info): When UIDNEXT is present, use that for the active.
Split -request-update-info into -request-marks and -update-info.
nnimap.el (nnimap-transform-headers): Don't bug out on invalid BODYSTRUCTUREs.
nnimap.el (nnimap-transform-headers): Unfold quoted {42} headers.
nnir.el (nnir-run-imap): Fix up nnir to work with the new nnimap.
nnimap.el (nnimap-stream): Add starttls support.
gnus-int.el (gnus-request-update-info): Protect against backends not having the function.
gnus-html.el (gnus-html-rescale-image): Revert change that uses window-inside-pixel-edges.
gnus-start.el (gnus-fixup-nnimap-unread-after-getting-new-news): Remove.
nnimap.el (nnimap-retrieve-headers): Return 'headers.
gnus-sum.el (gnus-summary-local-variables): Prepare for list/range makeover.
gnus-start.el: Add new variable gnus-use-backend-marks, and start reading marks again.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Thu, 23 Sep 2010 23:14:02 +0000 |
parents | ab3a38ccb842 |
children | 64945cefe6a6 |
comparison
equal
deleted
inserted
replaced
110515:6248bcadfd21 | 110516:4d2f8b81bb01 |
---|---|
965 (server (cadr (gnus-server-to-method srv))) | 965 (server (cadr (gnus-server-to-method srv))) |
966 (group (or group-option (gnus-group-group-name))) | 966 (group (or group-option (gnus-group-group-name))) |
967 (defs (caddr (gnus-server-to-method srv))) | 967 (defs (caddr (gnus-server-to-method srv))) |
968 (criteria (or (cdr (assq 'criteria query)) | 968 (criteria (or (cdr (assq 'criteria query)) |
969 nnir-imap-search-field)) | 969 nnir-imap-search-field)) |
970 artlist buf) | 970 (gnus-inhibit-demon t) |
971 artlist) | |
971 (message "Opening server %s" server) | 972 (message "Opening server %s" server) |
972 (condition-case () | 973 (condition-case () |
973 (when (nnimap-open-server server defs) ;; xxx | 974 (when (nnimap-possibly-change-group (gnus-group-short-name group) server) |
974 (setq buf nnimap-server-buffer) ;; xxx | 975 (with-current-buffer (nnimap-buffer) |
975 (message "Searching %s..." group) | 976 (message "Searching %s..." group) |
976 (let ((arts 0) | 977 (let ((arts 0) |
977 (mbx (gnus-group-real-name group))) | 978 (result |
978 (when (imap-mailbox-select mbx nil buf) | 979 (nnimap-command "UID SEARCH %s" |
979 (mapc | 980 (nnir-imap-make-query criteria qstring)))) |
980 (lambda (artnum) | 981 (mapc |
981 (push (vector group artnum 1) artlist) | 982 (lambda (artnum) |
982 (setq arts (1+ arts))) | 983 (push (vector group artnum 1) artlist) |
983 (imap-search (nnir-imap-make-query criteria qstring) buf)) | 984 (setq arts (1+ arts))) |
984 (message "Searching %s... %d matches" mbx arts))) | 985 (and (car result) |
985 (message "Searching %s...done" group)) | 986 (delete 0 (mapcar #'string-to-number |
986 (quit nil)) | 987 (cdr (assoc "SEARCH" (cdr result))))))) |
988 (message "Searching %s... %d matches" group arts))) | |
989 (message "Searching %s...done" group)) | |
990 (quit nil)) | |
987 (reverse artlist)))) | 991 (reverse artlist)))) |
988 | 992 |
989 (defun nnir-imap-make-query (criteria qstring) | 993 (defun nnir-imap-make-query (criteria qstring) |
990 "Parse the query string and criteria into an appropriate IMAP search | 994 "Parse the query string and criteria into an appropriate IMAP search |
991 expression, returning the string query to make. | 995 expression, returning the string query to make. |