From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/32281 Path: main.gmane.org!not-for-mail From: Sean Doran Newsgroups: gmane.emacs.gnus.general Subject: nnml -> nnimap (preserving Xrefs) Date: 30 Aug 2000 07:55:12 +0200 Sender: owner-ding@hpc.uh.edu Message-ID: <52em3770ov.fsf@sean.ebone.net> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1035168578 18856 80.91.224.250 (21 Oct 2002 02:49:38 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2002 02:49:38 +0000 (UTC) Return-Path: Original-Received: from spinoza.math.uh.edu (spinoza.math.uh.edu [129.7.128.18]) by mailhost.sclp.com (Postfix) with ESMTP id 77B43D051E for ; Wed, 30 Aug 2000 01:55:42 -0400 (EDT) Original-Received: from sina.hpc.uh.edu (lists@Sina.HPC.UH.EDU [129.7.3.5]) by spinoza.math.uh.edu (8.9.1/8.9.1) with ESMTP id AAC27153; Wed, 30 Aug 2000 00:55:39 -0500 (CDT) Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Wed, 30 Aug 2000 00:54:56 -0500 (CDT) Original-Received: from mailhost.sclp.com (postfix@66-209.196.61.interliant.com [209.196.61.66] (may be forged)) by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id AAA22375 for ; Wed, 30 Aug 2000 00:54:47 -0500 (CDT) Original-Received: from sean.ebone.net (sean.ebone.net [195.158.227.211]) by mailhost.sclp.com (Postfix) with ESMTP id 12D1FD051E for ; Wed, 30 Aug 2000 01:55:14 -0400 (EDT) Original-Received: by sean.ebone.net (Postfix, from userid 1113) id 09512884; Wed, 30 Aug 2000 07:55:12 +0200 (CEST) Original-To: ding@gnus.org Original-Lines: 58 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:32281 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:32281 Hi - I thought I did something very clever with the following nnimap-split-rule and a small function. I use it as follows: 1/ enter nnml group 2/ M P a 3/ B m nnimap+server:~/Mail/IMAP/INBOX 4/ leave (now-empty) nnml group 5/ in group buffer, point on an nnimap+server: group 6/ M-g It's a bit of a hack, but the net result is that anything that was caught by my previous nnmail-split-fancy is now cross-posted into multiple nnimap groups, with marks preserved. I'm pretty happy. However, now I have two problems. First problem: it took a bit to realize I needed the "my-imap-splitter" function to avoid EVERYTHING being crossposted into "misc" (instead of just new mail being moved there) I (naively) did "mv misc INBOX" + M-g and now there are *lots* of duplicates in each group. How do I get rid of them? Second problem: How does anything know that the the nnimap-split-rule crossposted an article? That is, how do I get marks to propagate to all the groups an nnimap article is crossposted into? Any help in migrating a huge pile of large-ish, heavily crossposted nnml groups into nnimap will be appreciated! Sean. (setq nnimap-split-rule '(("server" (".*" (("~/Mail/IMAP/\\5" "^Xref: .+ \\(.+\\):.+ \\(.+\\):.+ \\(.+\\):.+ \\(.+\\):.+ \\(.+\\):.+") ("~/Mail/IMAP/\\4" "^Xref: .+ \\(.+\\):.+ \\(.+\\):.+ \\(.+\\):.+ \\(.+\\):.+") ("~/Mail/IMAP/\\3" "^Xref: .+ \\(.+\\):.+ \\(.+\\):.+ \\(.+\\):.+") ("~/Mail/IMAP/\\2" "^Xref: .+ \\(.+\\):.+ \\(.+\\):.+") ("~/Mail/IMAP/\\1" "^Xref: .+ \\(.+\\):.+") ("~/Mail/IMAP/misc" my-imap-splitter)))))) ; we have to allow crossposting here... (setq nnimap-split-crosspost t) (defun my-imap-splitter (group) "called with the headers narrowed, returns t iff there is no ^Xref: line, nil otherwise" (let ((regexp "^Xref: ")) (goto-char (point-min)) (progn (not (re-search-forward regexp nil t)))))