From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/5719 Path: main.gmane.org!not-for-mail From: Kai Grossjohann Newsgroups: gmane.emacs.gnus.general Subject: Q: Extending nntp (for nndb) Date: 26 Mar 1996 11:37:54 +0100 Organization: Universitaet Dortmund, CS Dept, Chair 6 Sender: grossjoh@dusty.informatik.uni-dortmund.de Message-ID: Reply-To: Kai Grossjohann NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 (generated by tm-edit 7.41) Content-Type: text/plain; charset=US-ASCII X-Trace: main.gmane.org 1035146283 1179 80.91.224.250 (20 Oct 2002 20:38:03 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 20 Oct 2002 20:38:03 +0000 (UTC) Return-Path: ding-request@ifi.uio.no Original-Received: from ifi.uio.no (ifi.uio.no [129.240.64.2]) by deanna.miranova.com (8.7.3/8.6.9) with SMTP id DAA23373 for ; Tue, 26 Mar 1996 03:24:48 -0800 Original-Received: from floyd.informatik.uni-dortmund.de (floyd.informatik.uni-dortmund.de [129.217.4.40]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 26 Mar 1996 11:38:00 +0100 Original-Received: by dusty.informatik.uni-dortmund.de id AA22837; Tue, 26 Mar 96 11:37:56 +0100 Original-To: ding@ifi.uio.no Original-Lines: 58 Xref: main.gmane.org gmane.emacs.gnus.general:5719 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:5719 Hi there, I'm trying to extend nntp so that it deals with the things that make sense for `private' nndb groups, like `B c' and `B m' and expiry and stuff. I admit that I've never really looked into the source before, and I'm not sure what I should do. There are several issues: - What exactly are the backend functions supposed to do? - How do I deal with all the variables and group parameters? Ad 1: Backend functions. The documentation for, say, nnchoke-request-accept-article, says: ,----- | `(nnchoke-request-accept-article GROUP &optional LAST)' | This function takes the current buffer and inserts it into | GROUP. If LAST in `nil', that means that there will be more | calls to this function in short order. | | There should be no data returned. `----- Note the last sentence. From debugging nnml, however, it seems that this function should return (""
). What's the story? How do the return values interact with this strange buffer that's supposed to contain the results, if any? Are there other things that the docs don't mention but I should know? Remember that this was my first cut at trying anything. Ad 2: Variables, group parameters. I created a file nndb.el with a lot of defalias statements, for all the functions that already exist in nntp.el. I figured that this way, I would only need to write the missing functions. However, I would like nndb to use port 9000 by default, changeable via parameters, as usual. How would I go about this? Further, when in a function, how do I find out the values of all the parameters (host, port, whatever), considering that the currenly valid value may come from a group parameter, may come from the server definition, or may come from one of the variables which change the defaults. And this isn't considering the environment variables, even. Maybe this was a completely stupid approach of doing it? Should I've copied nntp.el then change every occurrence of "nntp" to "nndb", then change the defaults at will? Should I've extended nntp.el instead to recognize the new servers? Is ELisp object oriented and supports inheritance but I don't know it? Thanks a lot for you kind help for a novice Gnus programmer, kai -- There ain't no cure for the summer time blues.