From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/32890 Path: main.gmane.org!not-for-mail From: prj@po.cwru.edu (Paul Jarc) Newsgroups: gmane.emacs.gnus.general Subject: Re: "Fixing up" gnus - (how hard is this?). (was Re: (provide 'nnmaildir)) Date: 18 Oct 2000 11:13:24 -0400 Sender: owner-ding@hpc.uh.edu Message-ID: References: <87aec3o3u6.fsf_-_@raven.localnet> <871yxfnlnz.fsf@raven.localnet> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1035169097 22299 80.91.224.250 (21 Oct 2002 02:58:17 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2002 02:58:17 +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 D40A4D051E for ; Wed, 18 Oct 2000 11:14:16 -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 KAB10035; Wed, 18 Oct 2000 10:14:08 -0500 (CDT) Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Wed, 18 Oct 2000 10:13:33 -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 KAA04370 for ; Wed, 18 Oct 2000 10:13:23 -0500 (CDT) Original-Received: from multivac.student.cwru.edu (multivac.STUDENT.CWRU.Edu [129.22.239.69]) by mailhost.sclp.com (Postfix) with SMTP id B1AAED051E for ; Wed, 18 Oct 2000 11:13:47 -0400 (EDT) Original-Received: (qmail 26874 invoked by uid 500); 18 Oct 2000 15:13:46 -0000 Mail-Followup-To: ding@gnus.org Original-To: ding@gnus.org In-Reply-To: Rob Browning's message of "17 Oct 2000 17:32:48 -0500" Original-Lines: 24 User-Agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/20.7 Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:32890 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:32890 Rob Browning writes: > I'd like to go even farther and have gnus write out log/journal > snippets every time you take an action, or have it do atomic writes of > group state info (using link/unlink tricks) so that it would be very > hard to corrupt your state records. nnmaildir's been doing that since the 2000-09-03 release. :) But use rename(), not link()/unlink(), for appropriate atomicity. It's not so critical when there are no concurrent readers, but it still saves you a system call. I haven't checked the Emacs sources, but I'm assuming (rename-file) uses rename() when ok-if-already-exists is non-nil. > As an added IMO *way-cool* feature, I wonder if it would be possible > to define an interface that was both elisp and scheme friendly, and > better yet, use a backend storage format that was too (i.e. have the > forms where you store the state stick to a common "form" subset that > both parsers can handle). Hmm... nnmaildir's state files are non-Lisp text, parsed manually. I suppose (read)ing Lisp expressions would probably be faster, though. I hadn't thought of that. paul