From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/15075 Path: main.gmane.org!not-for-mail From: patl@cag.lcs.mit.edu (Patrick J. LoPresti) Newsgroups: gmane.emacs.gnus.general Subject: Re: Gnus and the qmail maildir format Date: 25 Apr 1998 12:04:23 -0400 Sender: owner-ding@hpc.uh.edu Message-ID: References: NNTP-Posting-Host: coloc-standby.netfonds.no X-Trace: main.gmane.org 1035154168 19977 80.91.224.250 (20 Oct 2002 22:49:28 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 20 Oct 2002 22:49:28 +0000 (UTC) Return-Path: Original-Received: from gwyn.tux.org (gwyn.tux.org [207.96.122.8]) by altair.xemacs.org (8.8.8/8.8.8) with ESMTP id JAA25983 for ; Sat, 25 Apr 1998 09:03:59 -0700 Original-Received: from sina.hpc.uh.edu (root@Sina.HPC.UH.EDU [129.7.3.5]) by gwyn.tux.org (8.8.8/8.8.8) with ESMTP id MAA17948 for ; Sat, 25 Apr 1998 12:05:38 -0400 Original-Received: from sina.hpc.uh.edu (lists@Sina.HPC.UH.EDU [129.7.3.5]) by sina.hpc.uh.edu (8.7.3/8.7.3) with ESMTP id LAH17750; Sat, 25 Apr 1998 11:05:47 -0500 (CDT) Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Sat, 25 Apr 1998 11:05:17 -0500 (CDT) Original-Received: from claymore.vcinet.com (claymore.vcinet.com [208.205.12.23]) by sina.hpc.uh.edu (8.7.3/8.7.3) with SMTP id LAA17732 for ; Sat, 25 Apr 1998 11:05:10 -0500 (CDT) Original-Received: (qmail 11677 invoked by uid 504); 25 Apr 1998 16:04:53 -0000 Original-Received: (qmail 11674 invoked from network); 25 Apr 1998 16:04:52 -0000 Original-Received: from unknown (HELO joker.curl.com) (209.113.241.130) by claymore.vcinet.com with SMTP; 25 Apr 1998 16:04:52 -0000 Original-Received: (qmail 22228 invoked by uid 10171); 25 Apr 1998 16:04:24 -0000 Original-To: ding@gnus.org In-Reply-To: Robert Bihlmeyer's message of "24 Apr 1998 04:04:08 -0400" Original-Lines: 54 X-Mailer: Gnus v5.6.4/Emacs 20.2 Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:15075 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:15075 >>>>> "Robbe" == Robert Bihlmeyer writes: >>>>> On 23 Apr 1998 17:20:55 -0400 >>>>> Stainless Steel Rat said: ratinox> movemail also ensures that the mailbox is locked before it ratinox> attempts to copy it to a staging area. mv does not. Robbe> This is a non-issue with maildir, since the MTA never appends Robbe> to an already existing mail. Exactly. Maildir is a lock-free spool format which never mangles mail, even if you have multiple machines *delivering* to the same spool simultaneously over NFS. Maildirs don't quote "From " lines and they are fully 8-bit clean. In short, they are the Right Thing and Gnus should support them. It is a simple enough format, and the documentation is short: http://www.qmail.org/qmail-manual-html/man5/maildir.html That said, I have looked at nnmail.el and I no longer think this will be a trivial job. Gnus's mail incorporation architecture is built around the concept that a mail spool is a single file whose messages we process by repeatedly narrowing the spool buffer to a single message of interest. This basically requires the architecture seen in pop3.el where more modern mail storage schemes are converted into a single file before Gnus touches them. It would not be too hard, I think, to change this model by creating a Gnus "mail spool" abstraction which represents a set of messages. The "mail spool" objects would need to support a certain set of simple operations, like "iterate over the messages calling this function" or "delete the spool; I'm done". (Other actions, like "delete a single message", might be useful too. I admit I have not thought through the details carefully.) In addition to supporting maildirs easily, such an abstraction would allow POP support (for example) to be more efficient. Another nice thing about maildir format is that incorporation itself can just be a "rename" operation, which is both very fast and very atomic. Unfortunately, this won't quite work for us, since Gnus wants to munge the headers (and possibly the body, depending on certain hooks) before writing a message to a folder. Just one of the prices we pay for nice features, I suppose. Anyway, I would prefer to see (i.e., convince) someone else (i.e., Lars) to redo the mail backend stuff a little bit before I try to add maildir support. Comments? - Pat