From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/29610 Path: main.gmane.org!not-for-mail From: Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai=?iso-8859-1?q?_Gro=DFjohann?=) Newsgroups: gmane.emacs.gnus.general Subject: Re: where to add code to make it possible to "encode" the mail folder Date: 22 Mar 2000 21:30:14 +0100 Sender: owner-ding@hpc.uh.edu Message-ID: References: NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1035166253 3697 80.91.224.250 (21 Oct 2002 02:10:53 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2002 02:10:53 +0000 (UTC) Return-Path: Original-Received: from lisa.math.uh.edu (lisa.math.uh.edu [129.7.128.49]) by mailhost.sclp.com (Postfix) with ESMTP id 17013D051E for ; Wed, 22 Mar 2000 15:31:28 -0500 (EST) Original-Received: from sina.hpc.uh.edu (lists@Sina.HPC.UH.EDU [129.7.3.5]) by lisa.math.uh.edu (8.9.1/8.9.1) with ESMTP id OAB29223; Wed, 22 Mar 2000 14:31:13 -0600 (CST) Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Wed, 22 Mar 2000 14:30:16 -0600 (CST) Original-Received: from mailhost.sclp.com (postfix@sclp3.sclp.com [204.252.123.139]) by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id OAA23709 for ; Wed, 22 Mar 2000 14:30:05 -0600 (CST) Original-Received: from waldorf.cs.uni-dortmund.de (waldorf.cs.uni-dortmund.de [129.217.4.42]) by mailhost.sclp.com (Postfix) with ESMTP id 5A62FD051E for ; Wed, 22 Mar 2000 15:30:16 -0500 (EST) Original-Received: from marcy.cs.uni-dortmund.de (marcy.cs.uni-dortmund.de [129.217.20.159]) by waldorf.cs.uni-dortmund.de with ESMTP id VAA00514 for ; Wed, 22 Mar 2000 21:30:15 +0100 (MET) Original-Received: from lucy.cs.uni-dortmund.de (lucy [129.217.20.160]) by marcy.cs.uni-dortmund.de id VAA26120; Wed, 22 Mar 2000 21:30:15 +0100 (MET) Original-Received: (from grossjoh@localhost) by lucy.cs.uni-dortmund.de (8.9.3/8.9.3/Debian 8.9.3-21) id VAA23365; Wed, 22 Mar 2000 21:30:15 +0100 X-Authentication-Warning: lucy.cs.uni-dortmund.de: grossjoh set sender to Kai.Grossjohann@CS.Uni-Dortmund.DE using -f Original-To: ding@gnus.org In-Reply-To: Jonas Steverud's message of "22 Mar 2000 19:12:25 +0100" Original-Lines: 53 User-Agent: Gnus/5.0804 (Gnus v5.8.4) Emacs/20.6 Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:29610 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:29610 Jonas Steverud writes: > When I thought later of it after I mailed my suggestion I thought one > should be able to configure this on server basis. > I.e. gnus-secondary-select-methods. You can make a backend (server) parameter of it, then you can frob it on a per-server basis. > Depending on the exakt usage of mail-sources maybe it still should be > possible to use it - but I know too little of the inner working of > Gnus to be able to make any decisions now. Hm. > > From your wording, > > you want to support encryption and compression when storing messages. > > I also want to be able to have the infolder encrypted/compressed. What is the `infolder'? /var/spool/mail/jrl? Note that this file is written to by some other program, not Gnus. Therefore, changing Gnus does not change what's in the file. But mail-sources would be the right place to change things if you want to be able to read from an encrypted/compressed /var/spool/mail/jrl file. > > I think you want to have a look at the various backends nnfolder, nnml > > and so on. > > I thought so too but is there any documentation of how they work, > i.e. which function that get called by which function, or can > someone supply me with such a thing? Or do I have to revert to > reverse engineering? Well, you might wish to search the Gnus info file for `nnchoke'. You will then find a programmer's manual showing you all the API functions that a backend must support as well as the optional functions. It will also show you how to write a backend. As to how the individual backends work, I'm afraid there is not much documentation. I hope you will be able to figure it out yourself. One other pointer is nnoo.el which allows you to derive backends from other backends in an object oriented fashion (inheritance). It works kinda strangely for someone who is used to OOP, but after a while you get used to it. kai -- OOA: object oriented analysis. OOD: object oriented design. OOP: object oriented programming. OOPS: object oriented errors.