changeset 103352:827a8db0b5ad

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.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Mon, 08 Jun 2009 22:47:11 +0000
parents 0bed5747a151
children ab0dc2b38d97
files lisp/gnus/ChangeLog lisp/gnus/gnus-art.el lisp/gnus/nnmairix.el
diffstat 3 files changed, 32 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Mon Jun 08 15:04:47 2009 +0000
+++ b/lisp/gnus/ChangeLog	Mon Jun 08 22:47:11 2009 +0000
@@ -1,3 +1,19 @@
+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.
+
 2009-04-28  Reiner Steib  <Reiner.Steib@gmx.de>
 
 	* spam.el: Use dns-query instead of query-dns.  Was renamed on
--- a/lisp/gnus/gnus-art.el	Mon Jun 08 15:04:47 2009 +0000
+++ b/lisp/gnus/gnus-art.el	Mon Jun 08 22:47:11 2009 +0000
@@ -4943,7 +4943,7 @@
 	    "`----\n"))
 	  (setcdr data
 		  (cdr (mm-make-handle
-			nil `("text/plain") nil nil
+			nil `("text/plain" (charset . gnus-decoded)) nil nil
 			(list "attachment")
 			(format "Deleted attachment (%s bytes)" bsize))))))
       ;; (set-buffer gnus-summary-buffer)
--- a/lisp/gnus/nnmairix.el	Mon Jun 08 15:04:47 2009 +0000
+++ b/lisp/gnus/nnmairix.el	Mon Jun 08 22:47:11 2009 +0000
@@ -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 @@
 	(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 @@
 	    (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 @@
 	  (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 @@
   (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)