diff options
author | Katsumi Yamaoka <yamaoka@jpl.org> | 2009-06-08 22:47:11 +0000 |
---|---|---|
committer | Katsumi Yamaoka <yamaoka@jpl.org> | 2009-06-08 22:47:11 +0000 |
commit | 0cf681b6af638101d21f41cede785613a9011697 (patch) | |
tree | d944425c4721c35eea90b03ace5630cc668e7183 /lisp/gnus/nnmairix.el | |
parent | 4fd536b6033dee698c6b8bb702822cfd10b115b2 (diff) | |
download | emacs-0cf681b6af638101d21f41cede785613a9011697.tar.gz emacs-0cf681b6af638101d21f41cede785613a9011697.tar.bz2 emacs-0cf681b6af638101d21f41cede785613a9011697.zip |
Synch with Gnus trunk:
2009-06-01 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-art.el (gnus-mime-delete-part): Specify gnus-decoded as charset
to deleted part.
2009-05-30 David Engster <dengste@eml.cc>
* nnmairix.el: Remove old documentation in the commentary block.
(nnmairix-request-group): Do not update active file for nnml back ends.
(nnmairix-retrieve-headers): Set gnus-nov-is-evil to t for nnimap back
end so that overview files are ignored.
(nnmairix-update-groups): Make updating the groups more robust by using
marks.
(nnmairix-determine-original-group-from-path): Circumvent mairix bug
with dollar characters in message-id.
Diffstat (limited to 'lisp/gnus/nnmairix.el')
-rw-r--r-- | lisp/gnus/nnmairix.el | 48 |
1 files changed, 15 insertions, 33 deletions
diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el index 251a32dc19a..b009903d67c 100644 --- a/lisp/gnus/nnmairix.el +++ b/lisp/gnus/nnmairix.el @@ -23,9 +23,6 @@ ;;; Commentary: -;; THIS IS BETA SOFTWARE! This back end should not mess up or -;; even delete your mails, but having a backup is always a good idea. - ;; This is a back end for using the mairix search engine with ;; Gnus. Mairix is a tool for searching words in locally stored ;; mail. Mairix is very fast which allows using it efficiently for @@ -35,32 +32,6 @@ ;; ;; Mairix is written by Richard Curnow. More information can be found at ;; http://www.rpcurnow.force9.co.uk/mairix/ -;; -;; For details about setting up mairix&Gnus&nnmairix.el, look at the -;; emacswiki: -;; -;; http://www.emacswiki.org/cgi-bin/wiki/GnusMairix -;; -;; The newest version of nnmairix.el can be found at -;; -;; http://www.emacswiki.org/cgi-bin/emacs/nnmairix.el - -;; For impatient people, here's the setup in a nutshell: -;; -;; This back end requires an installed mairix binary which is -;; configured to index your mail folder. You don't have to specify a -;; search folder (but it does no harm, either). Visit the man page of -;; mairix and mairixrc for details. -;; -;; Put nnmairix.el into your search path and "(require 'nnmarix)" into -;; your .gnus. Then call nnmairix-create-default-group (or 'G b -;; c'). This function will ask for all necessary information to create -;; a mairix server in Gnus with the default search folder. This -;; default search folder will be used for all temporary searches: call -;; nnmairix-search ('G b s') and enter a mairix query (like -;; f:test@example.com). To create a mairix group for one specific -;; search query, use 'G b g'. See the emacswiki or the source for more -;; information. ;; Commentary on the code: nnmairix sits between Gnus and the "real" ;; back end which handles the mail (currently nnml, nnimap and @@ -522,7 +493,7 @@ Other back ends might or might not work.") (when (eq nnmairix-backend 'nnml) (when nnmairix-rename-files-for-nnml (nnmairix-rename-files-consecutively mfolder)) - (nnml-generate-nov-databases-directory mfolder)) + (nnml-generate-nov-databases-directory mfolder nil t)) (nnmairix-call-backend "request-scan" folder nnmairix-backend-server) (if (and fast allowfast) @@ -585,8 +556,13 @@ Other back ends might or might not work.") (mapcar (lambda (arg) (- arg numcorr)) articles))) - (setq rval (nnmairix-call-backend - "retrieve-headers" articles folder nnmairix-backend-server fetch-old)) + (setq rval + (if (eq nnmairix-backend 'nnimap) + (let ((gnus-nov-is-evil t)) + (nnmairix-call-backend + "retrieve-headers" articles folder nnmairix-backend-server fetch-old)) + (nnmairix-call-backend + "retrieve-headers" articles folder nnmairix-backend-server fetch-old))) (when (eq rval 'nov) (nnmairix-replace-group-and-numbers articles folder group numcorr) rval))) @@ -1223,7 +1199,8 @@ If UPDATEDB is t, database for SERVERNAME will be updated first." (unless (and skipdefault (string= (car cur) default)) (gnus-group-jump-to-group (car cur)) - (gnus-group-get-new-news-this-group))))))) + (gnus-group-mark-group 1))) + (gnus-group-get-new-news-this-group))))) (defun nnmairix-remove-tick-mark-original-article () "Remove tick mark from original article. @@ -1692,6 +1669,11 @@ SERVER." (nnmairix-open-server server) (while (string-match "[<>]" mid) (setq mid (replace-match "" t t mid))) + ;; mairix somehow does not like '$' in message-id + (when (string-match "\\$" mid) + (setq mid (concat mid "="))) + (while (string-match "\\$" mid) + (setq mid (replace-match "=," t t mid))) (let (allgroups) (if (zerop (nnmairix-call-mairix-binary-raw (split-string nnmairix-mairix-command) |